PKU 1477 Box of Bricks

  • 全部同じ高さになるように移動するのみ
int main() {
	int caseIndex = 0;
	for (int n; cin >> n && n; ) {
		vector<int> heights;
		int sum = 0;
		for (int i = 0; i < n; ++i) {
			int height;
			cin >> height;
			heights.push_back(height);
			sum += height;
		}
		const int average = sum / n;

		int answer = 0;
		for (int i = 0; i < n; ++i) {
			answer += abs(heights[i] - average);
		}

		printf("Set #%d\nThe minimum number of moves is %d.\n\n", ++caseIndex, answer / 2);
	}
}