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