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 翻译