atcoder#ARC079B. [ABC068D] Decrease (Contestant ver.)

[ABC068D] Decrease (Contestant ver.)

配点 : 600600

問題文

長さ NN の非負整数列 aia_i に対し、数列の最大値が N1N-1 以下になるまで以下の操作を繰り返し行うことを考えます。

  • 数列のうち最も大きい要素を求める、複数ある場合はどれか 11 つ選ぶ。この要素の値を NN 減らす。これ以外の要素の値を 11 増やす。

なお、この操作を行い続けると、いつかは数列の最大値が N1N-1 以下になることが証明できます。

ここで、整数 KK が与えられるので、この操作を行う回数がちょうど KK 回になるような数列 aia_i11 つ求めてください。なお、この問題の入出力の制約下では、かならず 11 つは条件を満たすような数列が存在することが示せます。

制約

  • 0K50×10160 \leq K \leq 50 \times 10^{16}

入力

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

KK

出力

以下の形式で数列を出力する。

NN

a1a_1 a2a_2 ... aNa_N

ここで、2N50,2 \leq N \leq 50, 0ai1016+10000 \leq a_i \leq 10^{16} + 1000 でなければならない。

0
4
3 3 3 3
1
3
1 0 3
2
2
2 2

[2, 2] -> [0, 3] -> [1, 1] と、22 回操作を行います。

3
7
27 0 0 0 0 0 0
1234567894848
10
1000 193 256 777 0 1 1192 1234567891011 48 425