传统题 1000ms 256MiB

最长上升子序列

当前没有测试数据。

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

你原本有一个 11nn 的排列,但是不慎地,你遗忘了它,但是你记得以第 ii 个位置结尾的最长上升子序列的长度数组 {an}\{a_n\},现在希望你能够构造一个符合条件的排列 pp,如果不存在符合上述条件的排列 pp,则输出 1-1

这里定义以第 ii 位置结尾的最长上升子序列的长度,为符合以下条件的整数数组 {id}\{id\}kk 的最大值:

  • 1id1<id2<id3<<idk=i1 \leq id_1 < id_2 < id_3 < \dots < id_k = i
  • pid1<pid2<pid3<<pidkp_{id_1} < p_{id_2} < p_{id_3} < \dots < p_{id_k}

本题输入输出量比较大,请选手注意。

输入格式

第一行一个整数 nn (1n106)(1 \leq n \leq 10^6)

第二行 nn 个整数表示数组 {an}\{a_n\} (1ain)(1 \leq a_i \leq n),其中 aia_i 表示以 ii 结尾的最长上升子序列的长度。

输出格式

一行 nn 个整数表示排列 pp,如果无解,则输出 1-1

5
1 2 2 3 3
1 5 2 4 3
7
1 1 2 1 4 4 4
-1

第九届中国大学生程序设计竞赛高职专场

未参加
状态
已结束
规则
XCPC
题目
12
开始于
2023-10-21 9:00
结束于
2023-10-21 14:00
持续时间
5 小时
主持人
参赛人数
0