#ATagc046e. [AGC046E] Permutation Cover

[AGC046E] Permutation Cover

题目描述

给定整数 KK 和整数 a1,,aKa_1,\dots,a_K。请判断是否存在满足以下条件的数列 PP,如果存在,请输出字典序最小的一个。

  • PP 的所有项均为 11KK 之间的整数;
  • 对于每个 i=1,,Ki=1,\dots,KPP 中恰好包含 aia_iii
  • 对于 PP 的每一项,存在一个包含该项的长度为 KK 的连续子序列,该子序列是 1,,K1,\dots,K 的一个排列。

输入格式

输入通过标准输入按以下格式给出。

KK a1a_1 a2a_2 \dots aKa_K

输出格式

如果不存在满足条件的数列,输出 -1。否则,输出满足条件的字典序最小的数列。

样例 1

输入

3
2 4 3

输出

2 1 3 2 2 3 1 2 3

样例 2

输入

4
3 2 3 2

输出

1 2 3 4 1 3 1 2 4 3

样例 3

输入

5
3 1 4 1 5

输出

-1

说明/提示

限制条件

  • 1K1001 \leq K \leq 100
  • 1ai1000(1iK)1 \leq a_i \leq 1000\quad (1\leq i\leq K)
  • a1++aK1000a_1 + \dots + a_K \leq 1000
  • 所有输入均为整数

样例解释 1

例如,第 55 项的 22,包含在由第 5,6,75,6,7 项组成的子序列 (2,3,1)(2,3,1) 中。

由 ChatGPT 4.1 翻译