atcoder#AGC008D. [AGC008D] K-th K

[AGC008D] K-th K

配点 : 800800

問題文

長さ NN の数列 xx が与えられます。 次の条件をすべて満たす数列 aa が存在するか判定し、存在するならば aa11 つ構成してください。

  • aa は長さ N2N^2 であり、整数 11, 22, ......, NN をそれぞれちょうど NN 個ずつ含む。
  • 1iN1 \leq i \leq N について、aa に含まれる整数 ii のうち左から ii 番目に位置するものは、aa 全体では左から xix_i 番目に位置する。

制約

  • 1N5001 \leq N \leq 500
  • 1xiN21 \leq x_i \leq N^2
  • xix_i はすべて相異なる。

入力

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

NN

x1x_1 x2x_2 ...... xNx_N

出力

条件をすべて満たす数列 aa が存在しないならば、No を出力せよ。 存在するならば、11 行目に Yes を出力し、22 行目に aa を空白区切りで出力せよ。

3
1 5 9
Yes
1 1 1 2 2 2 3 3 3

たとえば、aa に含まれる整数 22 のうち左から 22 番目に位置するものは、aa 全体では左から 55 番目に位置しています。 整数 11, 33 についても同様に条件が成り立っています。

2
4 1
No