#GYM104725F. 最长上升子序列
最长上升子序列
本题没有可用的提交语言。
Description
你原本有一个 1 到 n 的排列,但是不慎地,你遗忘了它,但是你记得以 第i个位置 结尾的最长上升子序列的长度数组 {an} ,现在希望你能够构造一个符合条件的排列 p ,如果不存在符合上述条件的排列 p ,则输出 - 1。
这里定义以 第i位置 结尾的最长上升子序列的长度,为符合以下条件的整数数组 中 k 的最大值。
本题输入输出量比较大,请选手注意。
第一行一个整数 n (1 ≤ n ≤ 106)
第二行 n 个整数表示数组 {an} (1 ≤ ai ≤ n),其中 ai 表示以 i 结尾的最长上升子序列的长度。
一行 n 个整数表示排列 p ,如果无解,则输出 - 1。
Input
第一行一个整数 n (1 ≤ n ≤ 106)
第二行 n 个整数表示数组 {an} (1 ≤ ai ≤ n),其中 ai 表示以 i 结尾的最长上升子序列的长度。
Output
一行 n 个整数表示排列 p ,如果无解,则输出 - 1。
5
1 2 2 3 3
7
1 1 2 1 4 4 4
1 5 2 4 3
-1