#P1572. 积木游戏
积木游戏
Description
beta喜欢玩积木游戏,游戏的规则是这样的:
最初有n个积木堆,各堆有自己的初始高度。游戏通过有限次数的移动,一次移动一个积木,最终使所有堆的高度相同。
beta想知道要达到目标需要的最少移动次数,他请来了精通程序设计的你来帮他算一算。
Input Format
输入包含多组数据,以0作为输入结束。
每组数据包含两行:
第一行为一个正整数n,表示积木堆的个数
第二行为n个正整数,h1, h2 ... hn ,为每堆初始的积木个数。
数据规模约定:
1≤n≤50,1≤hi≤100
Output Format
对于每一组输入数据,输出将全部堆变为相同高度最少的移动次数。
在每组输出结果之间输出一个空行。
6
5 2 4 1 7 5
2
1 3
0
5
1
Hint
在第一组样例输入中:
第1堆积木拿1个到第2堆;
第5堆积木拿1个到第2堆;
第5堆积木拿1个到第4堆;
第5堆积木拿1个到第4堆;
第6堆积木拿1个到第4堆;
即最少需5次操作。
在第二组样例输入中:
第2堆积木拿1个到第1堆;
即最少需1次操作。
Source
第一届ACM校赛 比赛