题面描述:
多多正在玩一个一维数轴上的传送门游戏。游戏开始时,他位于 x=0 位置,一共有 n 个传送门依次可用(顺序为 1 到 n,不能更改使用顺序)。第 i 个传送门有一个传送值 ai,当多多使用该传送门时,会将他的当前位置 x 改变为 x+ai。传送门是一次性的,用过就不能再用。
此外,多多拥有一次“反转”技能,可以在任意时刻将当前位置从 x 变为 −x,该技能至多只能使用一次(也可选择不用)。当多多先后使用完 1 到 n 号传送门后,我们想知道在整个传送/反转的过程中,多多与初始位置(0 点)之间的最大距离是多少(即最大值 max∣x∣)。
多多在玩一个传送门游戏。
游戏开始时多多在一维数轴的x=0处。他有n个传送门,每个传送门都有一个传送值ai,他能
使用该传送门从x=t位置传送到x=t+ai,传送门是消耗品,只能使用一次。同时他还有一 个“反转”技能,使用该技能可以立即从位置x=t“反转”到x=−t.
多多必须从1到n使用这些传送门,可以在任何时候使用“反转”技能(最多用一次,也可以不 用),问用完所有传送门后,多多到初始位置x=0最远的距离为多少?
第一行为一个正整数n(1≤n≤105),
第二行为n个整数 a1,a2,….,an(−109≤ai≤109)。
输出在传送的过程中,多多到初始位置距离的最大值。
对于 60 的数据,1≤n≤1000;
对于100% 的数据,1≤n≤105,−109≤ai≤109.
输入
4
1 1 -1 1
输出
3
说明
最初多多在位置x=0处;
他先依次使用第2个传送门,到达位置x=0+a1+a2=0+1+1=2,与初始位置距离为2
然后他使用技能“反转”,到达位置x=−2,与初始位置距离为2;
再使用第3个传送门,到达位置x=−2+a3=−2−1=−3,与初始距离为3;
最后使用第4个传送门,到达位置x=−3+a4=−3+1=−2,与初始位置距离为2
在传送的过程中,与初始位置距离最大为3.
输入
5
1 -4 10 -30 2
输出
37
说明
多多在使用过前3个传送门后到达x=7;
此时使用一次“反转”,到达x=−7;
再使用第4个传送门到达x=−37,此时与初始位置距离最远,为37。