均分纸牌
类型:程序题

题目描述

有N堆纸牌,编号分别为1,2,…,N。每堆上有若干张,但纸牌总数必为N的倍数。可以在任一堆上取若干张纸牌,然后移动。

移牌规则为:

  • 在编号为1堆上取的纸牌,只能移到编号为2的堆上;
  • 在编号为N的堆上取的纸牌,只能移到编号为N−1的堆上;
  • 其他堆上取的纸牌,可以移到相邻左边或右边的堆上。

现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。

示例

N=4,4堆纸牌数分别为:①9 ②8 ③17 ④6 移动3次可达到目的:

  1. 从③取4张牌放到④,得到序列(9,8,13,10)
  2. 从③取3张牌放到②,得到序列(9,11,10,10)
  3. 从②取1张牌放到①,得到序列(10,10,10,10)

输入描述

共两行:

  1. 第一行为整数N(堆数,1 ≤ N ≤ 100)
  2. 第二行为N个整数A₁,A₂,…,A_N,表示每堆纸牌的初始数量(1 ≤ A_i ≤ 10000)

输出描述

输出一个整数,表示所有堆均达到相等时的最少移动次数。

输入样例1

4
9 8 17 6

输出样例1

3
代码编辑器
测试用例(F10) 运行测试(F11) 提交答案(F12)
测试用例输入
{{resultStatus.text}}