这题比较简单,加和求出平均数,然后多余平均数的砖块数量和就是最少要移动的。
/* * uva591.cpp * * Created on: 2013-4-17 * Author: kevinjiang */#includeint bricks[55];int main() { //setbuf(stdout,NULL); int n; int counter=1; while (scanf("%d", &n) != EOF) { if (n == 0) break; int sum = 0, avg, move = 0; for (int i = 0; i < n; i++) { scanf("%d", &bricks[i]); sum += bricks[i]; } avg = sum / n; for (int i = 0; i < n; i++) { if (bricks[i] > avg) { move += bricks[i] - avg; } } printf("Set #%d\nThe minimum number of moves is %d.\n\n",counter++,move); } return 0;}