Codeforces #33 C "Wonderful Randomized Sum"

問題:http://codeforces.com/contest/33/problem/C

ラクティス.
手近なコードをコピって考えてみたけどわからなかった.
自分でよく考えるため見えるところにコードを貼っとく.

import java.util.*;

// copy
public class C_WonderfulRandomizedSum {
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		int sum = 0, r = 0, m = 0, v;
		for (int n = s.nextInt(); n-- > 0;) {
			sum += v = s.nextInt();
			m = Math.max(m, r = Math.max(0, r + v));
		}
		System.out.println(2 * m - sum);
	}
}