atcoder#ARC159C. [ARC159C] Permutation Addition

[ARC159C] Permutation Addition

题目描述

正整数列 A=(a1,,aN) A=(a_1,\ldots,a_N) が与えられます。

次の操作を 0 0 回以上 104 10^4 回以下繰り返すことで A A の値をすべて等しくできるかを判定し、可能な場合は操作列の一例を示してください。

  • (1,,N) (1,\ldots,N) の順列 (p1,,pN) (p_1,\ldots,p_N) を決め、A A (a1+p1,,aN+pN) (a_1+p_1,\ldots,a_N+p_N) に置き換える。

输入格式

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

N N a1 a_1 \ldots aN a_N

输出格式

A A の値をすべて等しくできない場合は No と出力せよ。
等しくできる場合、操作回数を M M 回、i i 回目の操作における順列を (pi,1,,pi,N) (p_{i,1},\ldots,p_{i,N}) として以下の形式で出力せよ。

Yes M M p1,1 p_{1,1} \ldots p1,N p_{1,N} \vdots pM,1 p_{M,1} \ldots pM,N p_{M,N}

答えが複数存在する場合はどれを出力しても正解とみなされる。

题目大意

给定一个长度为 nn 正整数序列 A=(a1,a2,,an)A=(a_1,a_2,\cdots,a_n)

你需要进行如下操作 01040\sim 10^4 次,使得 AA 中的数全部相等:

  • 选择一个 (1,2,,n)(1,2,\cdots,n) 的排列 (p1,p2,,pn)(p_1,p_2,\cdots,p_n),将序列 AA 变为 (a1+p1,a2+p2,,an+pn)(a_1+p_1,a_2+p_2,\cdots,a_n+p_n)
2
15 9
Yes
8
1 2
1 2
1 2
1 2
2 1
1 2
1 2
1 2
5
1 2 3 10 10
No
4
1 1 1 1
Yes
0

提示

制約

  • 2  N  50 2\ \leq\ N\ \leq\ 50
  • 1  ai  50 1\ \leq\ a_i\ \leq\ 50
  • 入力はすべて整数

Sample Explanation 1

この出力例の通りに 8 8 回の操作を行うことで A A (24,24) (24,24) となり、値がすべて等しくなります。

Sample Explanation 3

初めから A A の値がすべて等しいです。