atcoder#AGC008D. [AGC008D] K-th K

[AGC008D] K-th K

题目描述

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

  • a a は長さ N2 N^2 であり、整数 1 1 , 2 2 , ... ... , N N をそれぞれちょうど N N 個ずつ含む。
  • 1 < = i < = N 1\ <\ =\ i\ <\ =\ N について、a a に含まれる整数 i i のうち左から i i 番目に位置するものは、a a 全体では左から xi x_i 番目に位置する。

输入格式

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

N N x1 x_1 x2 x_2 ... ... xN x_N

输出格式

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

题目大意

给你一个长度为 NN 的整数序列 XX,请判断是否存在一个满足下列条件的整数序列 aa,如果存在,请构造一种方案。

条件如下:

  1. aa 的长度为 N2N^2,并且满足数字 1,2,,N1,2, \cdots, N 都各出现恰好 NN 次。

  2. 对于 1iN1 \le i \le N,数字 iiaa 中第 ii 次出现的位置是 XiX_i

3
1 5 9
Yes
1 1 1 2 2 2 3 3 3
2
4 1
No

提示

制約

  • 1 < = N < = 500 1\ <\ =\ N\ <\ =\ 500
  • 1 < = xi < = N2 1\ <\ =\ x_i\ <\ =\ N^2
  • xi x_i はすべて相異なる。

Sample Explanation 1

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