#ATarc130e. [ARC130E] Increasing Minimum

[ARC130E] Increasing Minimum

题目描述

给定一个由 NN 项组成的正整数序列 A=(A1,A2,,AN)A = (A_1, A_2, \ldots, A_N),我们进行如下操作,得到一个序列 I=(i1,i2,,iK)I = (i_1, i_2, \ldots, i_K)

  • 按照 k=1,2,,Kk = 1, 2, \ldots, K 的顺序,依次进行以下操作:
    • 选择一个 ii,使得 Ai=min{A1,A2,,AN}A_i = \min\{A_1, A_2, \ldots, A_N\}
    • ik=ii_k = i
    • AiA_i11

给定整数 N,KN, K 和序列 II

请判断是否存在一个正整数序列 AA,使得按照上述操作能够得到序列 II。如果存在,请输出字典序最小的这样的序列 AA

输入格式

输入通过标准输入给出,格式如下:

NN KK i1i_1 i2i_2 \ldots iKi_K

输出格式

如果不存在满足条件的正整数序列 AA,输出 -1
如果存在,输出字典序最小的正整数序列 AA,用空格分隔,输出一行。

样例 1

输入

4 6
1 1 4 4 2 1

输出

1 3 3 2

样例 2

输入

4 6
2 2 2 2 2 2

输出

6 1 6 6

样例 3

输入

4 6
1 1 2 2 3 3

输出

-1

说明/提示

限制条件

  • 1N,K3×1051 \leq N, K \leq 3 \times 10^5
  • 1ikN1 \leq i_k \leq N

样例解释 1

作为能够通过操作得到 I=(1,1,4,4,2,1)I = (1, 1, 4, 4, 2, 1) 的正整数序列 AA,有 (1,3,3,2)(1, 3, 3, 2)(2,4,5,3)(2, 4, 5, 3) 等。其中字典序最小的是 (1,3,3,2)(1, 3, 3, 2)

由 ChatGPT 4.1 翻译