CF1237G Balanced Distribution
题目描述
有 $n$ 个朋友住在一条环形街道上。这些朋友和他们的房子顺时针编号为 $0$ 到 $n-1$。
最初,第 $i$ 个人有 $a_i$ 块石头。朋友们希望让石头的分布变得完全均衡:每个人都应该拥有相同数量的石头。
唯一可以改变石头分布的方法是召开会议。在一次会议中,恰好有 $k$ 个连续房子(注意街道是环形的)的人聚集在一起,并带上他们所有的石头。所有带来的石头可以在参加会议的人之间任意重新分配。这些人在会议前后拥有的石头总数必须保持不变。会议结束后,大家回到各自的家中。
请你找出一种方案,用尽量少的会议次数,使得石头的分布变得完全均衡。
输入格式
第一行包含两个整数 $n$ 和 $k$($2 \le k < n \le 10^5$),表示朋友的数量和每次会议的人数。
第二行包含 $n$ 个整数 $a_0, a_1, \ldots, a_{n-1}$($0 \le a_i \le 10^4$),表示每个人最初拥有的石头数量。
所有 $a_i$ 的和可以被 $n$ 整除。
输出格式
输出最少的会议次数 $m$($m \ge 0$),随后按时间顺序输出 $m$ 次会议的描述。
第 $i$ 次会议的描述包括一个整数 $s_i$($0 \le s_i < n$),后跟 $k$ 个非负整数 $b_{i,0}, b_{i,1}, \ldots, b_{i,k-1}$($b_{i,j} \ge 0$)。该描述表示编号为 $s_i, (s_i + 1) \bmod n, \ldots, (s_i + k - 1) \bmod n$ 的人召开了一次会议,$b_{i,j}$ 表示第 $i$ 次会议后编号为 $(s_i + j) \bmod n$ 的人应拥有的石头数量。这些 $b_{i,j}$ 的和必须等于这些人在会议前拥有的石头总数。
可以证明,对于任意合法输入,必然存在解,并且任意一个正确输出的非空白字符总数不会超过 $10^7$。
说明/提示
在第一个样例中,石头的分布变化如下:
- 第一次会议后:$2$ $6$ $\mathbf{7}$ $\mathbf{3}$ $\mathbf{4}$ $2$;
- 第二次会议后:$\mathbf{4}$ $\mathbf{2}$ $7$ $3$ $4$ $\mathbf{4}$;
- 第三次会议后:$4$ $\mathbf{4}$ $\mathbf{4}$ $\mathbf{4}$ $4$ $4$。
在第二个样例中,石头的分布变化如下:
- 第一次会议后:$1$ $0$ $1$ $\mathbf{2}$ $\mathbf{2}$ $\mathbf{2}$ $\mathbf{2}$ $2$ $4$ $3$ $3$;
- 第二次会议后:$\mathbf{5}$ $0$ $1$ $2$ $2$ $2$ $2$ $2$ $\mathbf{2}$ $\mathbf{2}$ $\mathbf{2}$;
- 第三次会议后:$\mathbf{2}$ $\mathbf{2}$ $\mathbf{2}$ $2$ $2$ $2$ $2$ $2$ $2$ $2$ $\mathbf{2}$。
由 ChatGPT 4.1 翻译