Description
小 A 经过多年的努力,终于成为了一个富豪,与此同时,也产生了很多债务问题。
某一天,他差遣小 F 去解决掉一条街上的所有的债务问题。在这条街上,小 A 有 n 段债务关系,第 i 段债务关系的金额为 di,如果 di≥0,说明第 i 个人欠小 A di 元,反之说明小 A 欠第 i 个人 ∣di∣ 元。
第 i 个人和第 i + 1 个人的距离为 1 米。题目满足小 A 借给别人的钱要多于他借别人的钱。
小 F 从这条街的起点出发(我们假设其为 0 点),此时他身上没有钱,请问他收回小 A 的所有借债,同时还清他的所有欠债所需的最短距离是多少(单位为米)?
注意:小 F 必须在街的末尾(即第 n 个债务关系的所在地)完成他的行走。
Input
第一行一个整数 n,表示债务关系的数量。 接下来 n 行,每行一个整数,表示 di
Output
输出一个整数,表示小 A 收回借债且还清欠债所需要行走的最短距离。
HINT
样例一解释:
路线为 0 → 1 → 2 → 3 → 2 → 3 → 4 → 5 → 4 → 5
样例二:
输入:
6
100
300
−200
−400
700
−100
输出:
8
对 30% 的数据点,满足 1≤n≤100
对 50% 的数据点,满足 1≤n≤103
对 100% 的数据点,满足 1≤n≤105,−103≤di≤103