AT_agc046_e [AGC046E] Permutation Cover

题目描述

给定整数 $K$ 和整数 $a_1,\dots,a_K$。请判断是否存在满足以下条件的数列 $P$,如果存在,请输出字典序最小的一个。 - $P$ 的所有项均为 $1$ 到 $K$ 之间的整数; - 对于每个 $i=1,\dots,K$,$P$ 中恰好包含 $a_i$ 个 $i$; - 对于 $P$ 的每一项,存在一个包含该项的长度为 $K$ 的连续子序列,该子序列是 $1,\dots,K$ 的一个排列。

输入格式

输入通过标准输入按以下格式给出。 > $K$ $a_1$ $a_2$ $\dots$ $a_K$

输出格式

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

说明/提示

### 限制条件 - $1 \leq K \leq 100$ - $1 \leq a_i \leq 1000\quad (1\leq i\leq K)$ - $a_1 + \dots + a_K \leq 1000$ - 所有输入均为整数 ### 样例解释 1 例如,第 $5$ 项的 $2$,包含在由第 $5,6,7$ 项组成的子序列 $(2,3,1)$ 中。 由 ChatGPT 4.1 翻译