#765. 直线运输

直线运输

题目描述

给定一个正整数 nn,表示一个国家的城市数量。再给定一列整数 a1,a2,,ana_1, a_2, \cdots , a_n,表示每个城市生产或者消费物资的数量,正数表示生产数量,负数表示消费数量。输入数据保证生产总量和消费总量是相等的,即 a1+a2++an=0a_1+a_2+\cdots +a_n=0

这些物资可以从一个城市搬运到另一个城市,一次搬运必须在两个编号相邻的城市间进行,若搬运一个单位数量的物资到一个相邻的城市,将产生一个单位的工作量。请设计一个方案,使得所有物资都从生产城市搬运至消费城市,且每个消费城市需要的物资数量都能得到满足,且搬运的总工作量达到最小。

输入格式

第一行:单个整数表示 nn

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

输出格式

单个整数:表示最优运输方案产生的最少工作总量。

样例

4
-10 10 20 -20
30

数据范围/约定

  • 对于 30%30\% 的数据,1n101≤n≤10
  • 对于 60%60\% 的数据,1n1001≤n≤100
  • 对于 100%100\% 的数据,1n1000001≤n≤100000,−100000ai100000100000≤a_i≤100000