编程题
均分纸牌 ### 题目描述 有 $N$ 堆纸牌,编号分别为 $1,2,\cdots, N$。每堆上有若干张,但纸牌总数必为 $N$ 的倍数。可以在任一堆上取若于张纸牌,然后移动。 移牌规则为:在编号为 $1$ 堆上取的纸牌,只能移到编号为 $2$ 的堆上;在编号为 $N$ 的堆上取的纸牌,只能移到编号为 $N-1$ 的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。 现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。 例如 $N=4$,$4$ 堆纸牌数分别为: ① $9$ ② $8$ ③ $17$ ④ $6$ 移动 $3$ 次可达到目的: 从 ③ 取 $4$ 张牌放到 ④ $(9 8 13 10)$ -> 从 ③ 取 $3$ 张牌放到 ② $(9 11 10 10)$ -> 从 ② 取 $1$ 张牌放到① $(10 10 10 10)$。 ### 输入描述 输入两行 第一行为:$N$($N$ 堆纸牌,$1 \leq N \leq 100$) 第二行为:$A_1,A_2, \cdots ,A_n$(NN堆纸牌,每堆纸牌初始数,$1 \leq A_i \leq 10^4$) ### 输出描述 输出一行:即所有堆均达到相等时的最少移动次数。 ### 输入输出样例 #### 示例 1 >输入 ```txt 4 9 8 17 6 ``` >输出 ```txt 3 ```
查看答案
赣ICP备20007335号-2