AT_arc128_e [ARC128E] K Different Values

Description

[problemUrl]: https://atcoder.jp/contests/arc128/tasks/arc128_e 長さ $ N $ の整数列 $ A=(A_1,A_2,\cdots,A_N) $,及び整数 $ K $ が与えられます. 以下の条件を両方満たす整数列 $ x $ を作ることを考えます. - 各整数 $ i $ ($ 1\ \leq\ i\ \leq\ N $) について,$ x $ はちょうど $ A_i $ 個の $ i $ を含む. また逆に,それ以外の整数を含まない. - $ x $ の中で連続するどの $ K $ 個を見ても,その $ K $ 個の値はすべて異なる. 条件を満たす $ x $ を作ることが可能かどうか判定し,可能な場合は条件を満たす中で辞書順最小の $ x $ を求めてください.

Input Format

入力は以下の形式で標準入力から与えられる. > $ N $ $ K $ $ A_1 $ $ A_2 $ $ \cdots $ $ A_N $

Output Format

条件を満たす数列 $ x $ が作ることが不可能な場合,`-1` と出力せよ. 可能な場合,辞書順最小の $ x $ を出力せよ.

Explanation/Hint

### 制約 - $ 2\ \leq\ K\ \leq\ N\ \leq\ 500 $ - $ 1\ \leq\ A_i $ - $ \sum_{1\ \leq\ i\ \leq\ N}\ A_i\ \leq\ 200000 $ - 入力される値はすべて整数である ### Sample Explanation 1 $ x=(1,2,3,1,2),(2,1,3,2,1) $ の二つが条件を満たし,その中で辞書順最小の $ (1,2,3,1,2) $ が答えになります.