还债日

测试数据来自 system/1480

作业已超过截止时间,您无法递交本题目。

时间限制:1秒  内存限制:256M


【问题描述】

  “有借有还,再借不难”,小H已经和他的 NN 个朋友有了债务关系,或者借债了,或者放债了。

  他的 NN 个朋友依次标号为 1..N1..N。还债日终于来临了。他知道,朋友欠他的钱比他欠朋友的钱多。他的朋友们分布在一条直线上,第 ii 个朋友站的位置距离小H的家 ii 米。

  小H打算沿着这条直线行走,从欠他钱的朋友手里收钱回来,并且还钱给他欠钱的朋友。 当他沿直线移动的时候,他可以要求任何欠他钱的朋友还全部的钱。当他有足够的钱可以还清他的某个债,就可以把钱给对应的朋友还清他的债。朋友 ii 欠小H 有 DiD_i 元,若 DiD_i 是负数表示小H欠朋友i钱。

  小H从家出发,位置为 0,初始小H没有钱。小H收回他的所有借债,并且还清他的欠债所需行走的最短距离是多少?注意:他必须在最后一个朋友所在的位置,完成他的行走。

【输入格式】

  第1行:一个整数 NN
  接下来 NN 行:第 i+1i+1 行包含一个整数:DiD_i

【输出格式】

  一个整数,小H 收回借债并且还清欠债,所需要行走的最短距离(单位为米)

【输入输出样例1】

 Input

5
100
-200
250
-200
200

 Output

【输入输出样例1说明】

  3个朋友欠小H钱;他欠2个朋友钱。当他完成结算,他将有150元。还钱路线如下图:
说明

【数据说明】

  对于 100%100\% 的数据,1N100,0001000Di1000;Di01 ≤ N ≤100,000,-1000 ≤ D_i ≤1000; D_i ≠ 0

【来源】

  Mr.he

寒假作业(一)

未认领
状态
已结束
题目
10
开始时间
2024-01-20 00:00
截止时间
2024-02-20 23:59
可延期
24.0 小时