P14085

糖果传递

难度 4 级 小学 算法入门 贪心
讨论 统计 49通过 123提交 39.8%通过率 旧版界面
时间限制 1 秒 内存限制 512 MB

题目描述

有 n 个小朋友坐成一圈,每人手里有 a_i 颗糖果。每个小朋友只能将糖果传递给他左边或右边相邻的小朋友。每传递一颗糖果的代价为 1。

现在需要让所有小朋友手中的糖果数量相等(题目保证糖果总数可以被 n 整除)。请你计算最少需要多少传递代价。

输入

  • 第一行包含一个整数 n ( 1 \le n \le 10^5 ),表示小朋友的人数。
  • 接下来 n 行,每行一个整数 a_i ( 0 \le a_i \le 10^9 ),表示第 i 个小朋友初始拥有的糖果数。

数据保证 \sum a_i 能被 n 整除。

输出

输出一个整数,表示最小传递代价。

样例

样例 1
输入
4
1
2
5
4
输出
4

提示

样例说明

共有 4 个小朋友,糖果总数为 1+2+5+4=12 ,平均值为 12/4=3 。一种最优的传递方案:

  • 第 1 个小朋友给第 4 个小朋友 1 颗糖(代价 1);
  • 第 3 个小朋友给第 2 个小朋友 2 颗糖(代价 2);
  • 第 3 个小朋友给第 4 个小朋友 1 颗糖(代价 1)。

总代价为 1+2+1=4 。(具体传递方式可能不同,但最小代价为 4。)

数据范围与约定

  • 1 \le n \le 10^5
  • 0 \le a_i \le 10^9
  • 保证 \sum a_i 能被 n 整除。
Tab 缩进 · 提交后可在下方查看评测状态
请先登录后再提交