AT_nupc2024_a Equalization
题目描述
给定一个由 $N$ 个整数构成的数列 $A = (A_1, A_2, \dots, A_N)$。你可以进行如下操作任意多次:
- 选择一个整数 $i$,满足 $1 \leq i \leq N-1$,将 $A_i$ 减去 $1$,同时将 $A_{i+1}$ 加上 $1$。
请你求出将数列 $A$ 的所有值变得相等所需的最小操作次数。如果无法做到,请输出 $-1$。
输入格式
输入以如下格式从标准输入中给出。
> $N$ $A_1$ $A_2$ $\dots$ $A_N$
输出格式
请将答案输出一行到标准输出。
说明/提示
### 样例解释 1
按照 $i=2,1,3,1$ 的顺序进行操作,就可以使 $A$ 的所有值相等。无法在 $3$ 次或更少操作内使 $A$ 的所有值相等,因此应输出 $4$。
### 样例解释 2
如果无论如何操作都无法使所有值相等,请输出 $-1$。
### 数据范围
- $1 \leq N \leq 2 \times 10^5$
- $1 \leq A_i \leq 10^9$ $(1 \leq i \leq N)$
- 输入均为整数。
由 ChatGPT 5 翻译