题目:给你用积木摞起来的不同高度的柱子,问弄成一样高时,最少的移动次数。
分析:简单题。求出平均数,把超过平均数的加和即可。
#include <iostream>
#include <cstdlib>
#include <cstdio>
using namespace std;
int main()
{
int n,h[55],T = 1;
while ( scanf("%d",&n) && n ) {
int sum = 0,count = 0;
for ( int i = 0 ; i < n ; ++ i ) {
scanf("%d",&h[i]);
sum += h[i];
}
sum /= n;
for ( int i = 0 ; i < n ; ++ i )
if ( h[i] > sum )
count += h[i]-sum;
printf("Set #%d\nThe minimum number of moves is %d.\n\n",T ++,count);
}
return 0;
}