“既不借钱,也不放贷。”Bessie 多希望当初听了这建议!她与 $N$ 位朋友借贷过,$(1 \le N \le 100,000)$,朋友编号 $1,\ldots,N$。
还款日终于到了。别人欠她的总额比她欠别人的多。牛排成直线,第 $i$ 头距谷仓 $i$ 米。Bessie 将沿线收取欠她的钱,并还钱给她的债主。
沿线走时,她可要求任何欠钱的牛还钱。有足够钱清偿部分或全部债务时,可将刚收到的钱付给债主。牛 $i$ 欠 Bessie $D_{i}$,$(-1,000 \le D_{i} \le 1,000; D_{i} \ne 0)$。负值表示 Bessie 欠对方,方向相反。
Bessie 从谷仓位置 0 出发。收齐钱并还清债务至少需走多远?她必须在队伍末端结束旅程。
输入格式
- 第 1 行:一个整数 $N$。
- 第 $2,\ldots,N+1$ 行:第 $i+1$ 行一个整数 $D_{i}$。
输出格式
- 第 1 行:一个整数,表示为与每头牛收款或还款必须走的总米数。
样例
输入格式 1
5 100 -200 250 -200 200
输出格式 1
9
说明
三头牛欠 Bessie,她欠两头牛。完成后她有 150 的钱。
100 -200 250 -200 200
| | | | | |
***>**+**>*****>**+
* < Bessie 有 350
-**<***
* < Bessie 有 150
***>****>****>**+
* < Bessie 有 350
-**<***
*
***>*** < Bessie 结束旅程时有 150*左端:谷仓。
题目作者:Jarrah Lacko,2009