#O3214. LQ.中级组.编程题.十四届.STEMA.03.移动石子

LQ.中级组.编程题.十四届.STEMA.03.移动石子

题目描述

将 N ( 1 < N < 50 ) 堆石子围成一个圆圈, 已知每堆石子的数量,且石子的总数量能被 N 整除。请按照如下要求移动石子, 使得 N 堆石子的数量变为相同。

要求:可以从每堆石子中拿取石子移动到它左右相邻的两堆石子堆中。

计算出要使得 N 堆石子的数量变为相同,至少需要移动多少颗石子。

例如: N = 3 , 3 堆石子顺时针方向的数量依次为 2、6、7 。最少需要移动 3 颗石子, N 堆石子的数量变为相同( 每堆5颗 )。

img

第 1 次从第二堆石子中拿 1 颗移动到第一堆的石子中, 此时 3 堆石子的数量依次为 3、5、7 ;

第 2 次从第三堆石子中拿 2 颗移动到第一堆的石子中, 此时 3 堆石子的数量依次为 5、5、5。

输入格式

第一行输入一个正整数 N ( 1 < N < 50 ),表示石子的堆数

第二行输入 N 个正整数 ( 1 < 正整数 < 100 ),表示顺时针方向每堆石子的原始数量,正整数之间以一个空格隔开

输出格式

一个整数, 表示要使 N 堆石子的数量变为相同,最少移动的石子数量,如果原始 N 堆石子数量相同,则输出 0

样例

3
2 6 7
3