AT_pakencamp_2022_day3_d Yet Another Balls and Boxes Problem

题目描述

这里有 $N$ 个箱子,第 $i$ 个箱子里有 $A_i$ 个球。你可以进行以下操作,次数不少于 $0$ 次,且不超过 $2 \times 10^6$ 次。 - 选择一对整数 $(X, Y)$($X \neq Y$),要求“第 $X$ 个箱子里的球的数量”不大于“第 $Y$ 个箱子里的球的数量”。 接着,将第 $Y$ 个箱子里的球,按照第 $X$ 个箱子里球的数量,移动同等数量的球到第 $X$ 个箱子中。 请判断能否通过若干次操作,使得所有球都集中在某一个箱子中。如果可能,请构造一种可行的操作序列。

输入格式

输入为如下形式,通过标准输入给出。 > $N$ $A_1$ $A_2$ $\ldots$ $A_N$

输出格式

如果无法使所有球集中到一个箱子里,则输出 `No`。 如果可能,输出操作次数 $M$,以及第 $i$ 次操作选择的 $(P_i, Q_i)$,按如下格式输出: > Yes $M$ $P_1$ $Q_1$ $P_2$ $Q_2$ $\vdots$ $P_M$ $Q_M$ 满足条件的解如果有多个,输出任意一个均视为正确。

说明/提示

### 样例说明 1 操作可以按如下方式进行。 1. 从箱子 $2$ 向箱子 $1$ 移动 $1$ 个球。 2. 从箱子 $1$ 向箱子 $2$ 移动 $2$ 个球。 3. 从箱子 $2$ 向箱子 $3$ 移动 $4$ 个球。 最终,箱子 $3$ 中有 $8$ 个球,即所有的球都集中在箱子 $3$ 中。 另外,例如如下输出也是正确答案。 ``` Yes 3 1 2 1 2 1 3 ``` ### 样例说明 2 可以证明,在 $2\times 10^6$ 次以内的操作中,不可能让所有的球集中到某一个箱子中。 ### 数据范围 - $2 \le N \le 10^5$ - $1 \le A_i \le 10^5$ - 所有输入均为整数。 由 ChatGPT 5 翻译