#1433. D.堆硬币

D.堆硬币

说明

丁丁喜欢堆硬币,他把砖块一个叠一个地堆成不同高度的硬币。他现在突然思索,怎样把全部的硬币堆都弄成尽可能一样高,如下图所示。丁丁很懒,他想只移动最少数目的硬币。你能帮帮他吗?(如果硬币总数目不能被硬币的堆数整除,则使每个硬币堆上的硬币数目尽可能接近,即任意两堆之间的硬币数目最多相差1个硬币)

输入格式

输入包含多个数据集合,每个数据集合的第一行是一个整数n,表示丁丁堆的硬币个数。第二行则包含n个整数,每个整数代表每堆硬币的高度hi,表示该堆硬币中有hi个硬币,假定1<=n<=50, 1<=hi<=100。

输出格式

对与每个数据集合,输出把这些硬币移动同一高度所需的最小次数。

6
5  2  4  1  7  5
3
1  2  3 
6
5  2  4  1  8  6
3
1  2  4 
1
10
5
1
5
1
0