#6923. 环型运输

环型运输

题目背景

某个国家有若干个城市,每个城市生产或者消费一定量的物资,已知国家的生产和消费的总量恰好是相等的。假设这些城市呈环状排列,请问如何设计一个最佳的运输计划?

题目描述

给定一个圆环序列 a1,a2,,ana_1, a_2, \cdots, a_n,保证

a1+a2++an=0a_1+a_2+\cdots+a_n=0

定义一次移动操作可以任意选取两个相邻的元素以及一个大于 00 的移动量 Δ\Delta,将其中一个元素减去 Δ\Delta,另一个元素增加 Δ\Delta。由于是圆环序列,所以 ana_na1a_1 也算作两个相邻的元素。

请设计一个不断进行移动操作的方案,使得最后元素全部变成 00,且过程中移动量的总和最小。

输入格式

第一行:单个整数表示 nn。 第二行:nn 个整数表示 a1,a2,,ana_1, a_2, \cdots, a_n

输出格式

单个整数:表示修改成全 00 的最少移动总量。

4
10 20 -20 -10
30

数据范围

  • 对于 30%30\% 的数据,1n101\leq n\leq 10
  • 对于 60%60\% 的数据,1n1001\leq n\leq 100
  • 对于 100%100\% 的数据,1n1051\leq n\leq 10^5104ai104-10^4\leq a_i\leq 10^4