import java.util.Scanner;
/**
* @author supermejane
* @date 2025/10/9
* @description BGN68 最大子段和
*/
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[] a = new int[n];
long[] dp = new long[n];
for (int i = 0; i < n; i++) {
a[i] = in.nextInt();
dp[i] = a[i];
}
Long result = Long.MIN_VALUE;
for (int i = 1; i < n; i++) {
dp[i] = dp[i - 1] > 0 ? dp[i - 1] + a[i] : a[i];
result = Math.max(result, dp[i]);
}
System.out.println(result);
}
}
//特别说明以下精度问题,int的范围为-2147483648 到 2147483647(约 ±21 亿, 2.1 * 10 ^ 9),long 则为9.22 * 10 ^ 18