沿着学院路,有北医,北影,北航,北科,北邮,北师,北林,北语等高校,我们都知道,这些学校里的女生数量是不同的,
现在学院路高校共同体做了一个实际不存在的决定,就是要平衡这些高校的女生。所谓平衡,就是让这些高校里的女生数量相同。这就涉及到女生的移动。
所谓女生的移动,就是将一些学校的女生移到另一个学校。移动女生是需要代价的,将一个女生从一个学校移动到另一个学校需要消耗1个单位的代价,
当然,将y个女生从一个学校移动到另一个学校就需要y个代价。现在给出这n所高校里的女生数量,希望你计算一下,能否实现这个目标,如果能,最小代价是多少。
- 输入
-
多组测试数据,每组测试数据占两行,第一行一个整数n (1<=n<=20),第二行有N个整数: A1,A2,...,Ai,...,An,分别表示这n所高校里的女生数量。(Ai>=0,int在int范围内)
- 输出
-
如果能够实现题目所述的目标,输出最小代价。如果不能,输出-1,对每组测试数据,输出占一行。
结果在int范围内。 - 样例输入
-
3
6 8 9
3
9 8 10
- 样例输出
-
-1
1
模拟题
#include <stdio.h> int main() { int n,i,sum,average; int a[101]; int answer; while(scanf("%d",&n)!=EOF) { sum=0; answer=0; for(i=0;i<n;i++) { scanf("%d",&a[i]); sum+=a[i]; } if(sum%n!=0) { printf("-1\n"); } else { average=sum/n; for(i=0;i<n;i++) { if(a[i]<average) { answer+=average-a[i]; } } printf("%d\n",answer); } } return 0; }