HH_Knight 2020-03-29 19:39 采纳率: 50%
浏览 96

新手求帮助,感谢各位大佬

有N堆石子,每堆石子有若干石头,所有石头的总数是N的倍数。

可以在任意一堆上取若干石头,进行移动。移动规则是:在第一堆上取的石子,只能移到第二堆;在第N堆上取的石子,只能移到N-1堆;其他堆上取的,可以移到相邻左边或者右边。如何用最少的移动次数使得每堆石子的数量一样多呢?

当N=4时,4堆石子数为:9、8、17、6

移动3次可以使4堆数目一样多:

从第3堆取4个石子放到第4堆(9、8、13、10)

从第3堆取3个放到第2堆(9、11、10、10)

从第2堆取1个放到第1堆(10、10、10、10)

输入格式:
第一行包含一个整数N(1<= N <=100),表示有N堆石子;

接着有N行,每行一个整数ai(1<= ai <=10000),表示第i堆石子的数量。

输出格式:
输出一个整数,表示使所有石子堆的石子均达到相等时需要的最少移动次数。

输入样例:
4
9 8 17 6

输出样例:
3

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 vb6.0+webbrowser无法加载某个网页求解
    • ¥15 RPA财务机器人采购付款流程
    • ¥15 计算机图形多边形及三次样条曲线绘制
    • ¥15 根据protues画的图用keil写程序
    • ¥200 如何使用postGis实现最短领规划?
    • ¥15 pyinstaller打包错误
    • ¥20 cesm的气溶胶排放文件
    • ¥15 逐月累计,月份不连续,补齐月份
    • ¥15 应用简单的Python代码完成一个学生成绩管理系统
    • ¥15 用matlab求微分方程初值问题