AT_agc046_e [AGC046E] Permutation Cover

Description

[problemUrl]: https://atcoder.jp/contests/agc046/tasks/agc046_e 整数 $ K $ と整数 $ a_1,\dots,\ a_K $ が与えられます。以下を満たす数列 $ P $ が存在するか判定し、存在する場合は辞書順最小のものを求めてください。 - $ P $ のすべての項は $ 1 $ 以上 $ K $ 以下の整数である - 各 $ i=1,\dots,\ K $ に対し、$ P $ は $ i $ を $ a_i $ 個含む - $ P $ の各項について、その項を含むある長さ $ K $ の連続する部分列が存在し、$ 1,\dots,\ K $ の並び替えになっている

Input Format

入力は以下の形式で標準入力から与えられる。 > $ K $ $ a_1 $ $ a_2 $ $ \dots $ $ a_K $

Output Format

条件を満たす数列が存在しない場合、`-1` を出力せよ。 そうでない場合、条件を満たす辞書順最小の数列を出力せよ。

Explanation/Hint

### 制約 - $ 1\ \leq\ K\ \leq\ 100 $ - $ 1\ \leq\ a_i\ \leq\ 1000\ \quad\ (1\leq\ i\leq\ K) $ - $ a_1\ +\ \dots\ +\ a_K\leq\ 1000 $ - 入力はすべて整数である ### Sample Explanation 1 例えば、$ 5 $ 項目の $ 2 $ は、$ 5,6,7 $ 項目からなる部分列 $ (2,3,1) $ に含まれます。