已结束 GESP巅峰赛#23
← 上一题 下一题 →

A5085 | 奇怪的数组

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

我们有一个长度为 $n$ 的数组。每次操作可以选择数组中的任意两个元素 $a_i$ 和 $a_j$,然后将 $a_i$ 加 $1$,$a_j$ 减 $1$。问最少需要多少次操作,才能使得数组中的所有元素都相同。如果无法使他们变得完全相同,请返回 $-1$ 。

输入格式

第一行:一个整数 $n$,表示数组的长度。

第二行:$n$ 个整数 $a_1, a_2, \dots, a_n$,表示数组的初始元素。

输出格式

如果存在相应的操作序列 ,输出最小的操作次数。如果不存在,请输出 $-1$ 。

输入输出样例

输入 #1
5
1 2 3 4 5
输出 #1
3
输入 #2
10
70 19 9 57 30 32 23 8 12 40
输出 #2
79
C++ 编辑器
输入
输出