#P1004. Farmer John's Favorite Permutation
Farmer John's Favorite Permutation
USACO 2024 US Open Contest, Bronze
Problem 3. Farmer John's Favorite Permutation
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]
注意,排列也会产生相同的,但在字典序上更小。 对于第二个测试用例,不存在与一致的;和都会产生,而不是。
评分
- 输入2:
- 输入3 - 6:
- 输入7 - 11:无额外限制。
问题提供者:Chongtian Ma