题目背景
某个国家有若干个城市,每个城市生产或者消费一定量的物资,已知国家的生产和消费的总量恰好是相等的。假设这些城市呈环状排列,请问如何设计一个最佳的运输计划?
题目描述
给定一组圆环序列 a1,a2,⋯,an,保证
a1+a2+⋯+an=0
定义一次移动操作可以任意选取两个相邻的元素以及一个大于 0 的移动量 Δ,将其中一个元素减去 Δ,另一个元素增加 Δ。由于是圆环序列,所以 an 和 a1 也算作两个相邻的元素。
请求出最少的移动总量,使得元素全部变成 0。
输入格式
第一行:单个整数表示 n。
第二行:n 个整数表示 a1,a2,⋯,an。
输出格式
单个整数:表示修改成全 0 的最少移动总量。
4
10 20 -20 -10
30
数据范围
- 对于 30% 的数据,1≤n≤10;
- 对于 60% 的数据,1≤n≤100;
- 对于 100% 的数据,1≤n≤105,−104≤ai≤104;