要想移动的砖头的数量最少,则每次都应该往平均值上靠。。。
/*
* POJ_1477.cpp
*
* Created on: 2013年10月11日
* Author: Administrator
*/
#include <iostream>
#include <cstdio>
using namespace std;
const int maxn = 52;
int a[maxn];
int main(){
int n;
int counter = 1;
while(scanf("%d",&n)!=EOF,n){
int i;
int sum = 0;
for(i = 0 ; i < n ; ++i){
scanf("%d",&a[i]);
sum += a[i];
}
int avg = sum/n;
int ans = 0;
for(i = 0 ; i < n ; ++i){
if(a[i] < avg){
ans += (avg - a[i]);
}
}
printf("Set #%d\n",counter++);
printf("The minimum number of moves is %d.\n\n",ans);
}
return 0;
}