还是做简单题痛快。。
#include <iostream>
#include <sstream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <string>
#include <vector>
#include <set>
#include <cctype>
#include <algorithm>
#include <cmath>
#include <deque>
#include <map>
using namespace std;
///
#define INF 0xffffff7
#define MAXN 200
///
vector<int> bricks;
int main()
{
///
int i, j;
int sum;
int stacks;
int cases(1);
while (1)
{
cin >> stacks;
if (stacks == 0)
break;
sum = 0;
bricks.clear();
for (i = 0; i < stacks; i++)
{
int num;
cin >> num;
bricks.push_back(num);
sum += num;
}
int ave = sum / stacks;
int moves = 0;
for (vector<int>::iterator it = bricks.begin(); it != bricks.end(); it++)
{
if (*it > ave)
{
moves += (*it - ave);
}
}
printf("Set #%d\n", cases);
printf("The minimum number of moves is %d.\n", moves);
printf("\n");
cases++;
}
///
return 0;
}