atcoder#AGC032A. [AGC032A] Limited Insertion

[AGC032A] Limited Insertion

配点 : 400400

問題文

すぬけ君は空の数列 aa を持っています。

すぬけ君は aa に対して NN 回操作を行います。

ii 回目の操作では 1ji1 \leq j \leq i を満たす整数 jj を選び、aa の先頭から jj 番目に jj を挿入することができます。

長さ NN の数列 bb が与えられます。NN 回の操作後に aabb と一致することがあるかどうかを判定し、可能ならばそれを達成する操作手順の一例を示してください。

制約

  • 入力は全て整数である。
  • 1N1001 \leq N \leq 100
  • 1biN1 \leq b_i \leq N

入力

入力は以下の形式で標準入力から与えられる。

NN

b1b_1 \dots bNb_N

出力

NN 回の操作後に aabb が一致するような操作手順が存在しないならば -1 を出力せよ。 存在するならば操作手順を NN 行に出力せよ。ii 行目では ii 回目の操作で選んだ整数を出力せよ。考えられる操作手順が複数存在する場合は、そのうちのどれを出力してもよい。

3
1 2 1
1
1
2
  • 各操作後、aa は以下のように変化します。
  • 11 回目の操作後:(1)(1)
  • 22 回目の操作後:(1,1)(1,1)
  • 33 回目の操作後:(1,2,1)(1,2,1)
2
2 2
-1
  • 数列の先頭に 22 を挿入することはできないため、達成不可能です。
9
1 1 1 2 2 1 2 3 2
1
2
2
3
1
2
2
1
1