U1349 「USACO 2024 US Open Bronze」Farmer John's Favorite Permutation
本题使用标准输入、标准输出,无需读写题面中提到的文件。
题目描述
农夫 John 有一个长度为 的排列 (),其中恰好包含从 到 的每个正整数各一次。然而,农夫 Nhoj 闯入了 FJ 的谷仓并把 拆散了。为了不至于太残忍,FN 写下了一些提示来帮助 FJ 重新构造 。当 中剩余元素数量大于 1 时,FN 会执行如下操作: 设当前剩余的 的元素为 。 如果 ,他会写下 ,并从排列中移除 。 否则,他会写下 ,并从排列中移除 。 最后,农夫 Nhoj 将按顺序写下 个整数 。给定 ,农夫 John 希望你帮助他重构与农夫 Nhoj 提示一致的、字典序最小的排列 ,或者判断农夫 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] 注意,排列 也会产生相同的 ,但 的字典序更小。 对于第二个测试用例,不存在与 一致的 ; 和 都会产生 ,而不是 。 SCORING: Input 2: Inputs 3-6: Inputs 7-11: 无额外限制。 题目鸣谢:Chongtian Ma
来源
USACO|2024|Bronze