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

[ABC068D] Decrease (Contestant ver.)

题目描述

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

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

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

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

输入格式

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

K K

输出格式

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

N N a1 a_1 a2 a_2 ... aN a_N

ここで、2  N  50, 2\ ≦\ N\ ≦\ 50, 0  ai  1016 + 1000 0\ ≦\ a_i\ ≦\ 10^{16}\ +\ 1000 でなければならない。

题目大意

对于一个长度为N的序列aa,我们有这样的操作:

  • 从序列aa中选出一个最大值,将其减NN,对于剩下的N1N-1个元素,将其全部加11
  • 可以证明操作KK次之后,存在序列的最大值将小于或等于N-1。

现在,给定一个正整数KK,请构造出一个长度为NN的序列aa
使得满足操作KK次之后满足序列的最大值将小于或等于N-1。

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

提示

制約

  • 0  K  50 × 1016 0\ ≦\ K\ ≦\ 50\ \times\ 10^{16}

Sample Explanation 3

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