题意:移动最少的砖,使所有堆的转数量相同
思路:其实不管怎么样肯定是要把高出平均值的砖堆拿出给低于平均值的转堆,所有只要记录要移动高出平均值的砖堆的砖头就可以了
#include<stdio.h>
int main(){
int n, sum, average, cnt, t = 0;
int arr[55];
while (scanf("%d", &n) && n){
sum = 0;
cnt = 0;
for(int i = 0; i < n; i++){
scanf("%d", &arr[i]);
sum += arr[i];
}
average = sum / n;
for(int i = 0; i < n; i++){
if (arr[i] > average)
cnt += arr[i] - average;
}
printf("Set #%d\n", ++t);
printf("The minimum number of moves is %d.\n", cnt);
printf("\n");
}
return 0;
}