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