luogu#P10276. [USACO24OPEN] Farmer John's Favorite Permutation B
[USACO24OPEN] Farmer John's Favorite Permutation B
题目描述
Farmer John 有一个长为 ()的排列 ,包含从 到 的每个正整数恰好一次。然而,Farmer Nhoj 闯入了 FJ 的牛棚并拆散了 。为了不至于太过残忍,FN 写了一些能够帮助 FJ 重建 的提示。当 中剩余多于一个元素时,FN 会执行以下操作:
令 的剩余元素为 ,
- 如果 ,他写下 并从排列中删除 。
- 否则,他写下 并从排列中删除 。
最终,Farmer Nhoj 将按顺序写下 个整数 。给定 ,Farmer John 希望得到你的帮助重建与 Farmer Nhoj 的提示相一致的最小字典序 ,或者判断 Farmer Nhoj 一定犯了错误。我们知道,给定两个排列 和 ,如果在第一个两者不同的位置 处有 ,则 的字典序小于 。
输入格式
每个测试点包含 个独立的测试用例()。每个测试用例的描述如下:
第一行包含 。
第二行包含 个整数 ()。
输出格式
输出 行,每个测试用例一行。
如果存在与 相一致的 的排列 ,输出字典顺序最小的 。如果不存在这样的 ,输出 。
5
2
1
2
2
4
1 1 1
4
2 1 1
4
3 2 1
1 2
-1
-1
3 1 2 4
1 2 3 4
提示
对于第四个测试用例,如果 则 FN 将写下 。
p' = [3,1,2,4]
p_1' < p_n' -> h_1 = 2
p' = [3,1,2]
p_1' > p_n' -> h_2 = 1
p' = [1,2]
p_1' < p_n' -> h_3 = 1
p' = [1]
注意排列 也会产生同样的 ,但 字典序更小。
对于第二个测试用例,不存在与 相一致的 ; 和 均会产生 ,并非 。
测试点性质
- 测试点 :。
- 测试点 :。
- 测试点 :没有额外限制。