#!/usr/bin/env pypy3

# université pierre et marie curie - c. dürr - 2017
# http://www-desir.lip6.fr/~durrc/Iut/cpa/2017/tme5-progdyn/

# Sous-séquence contiguë de valeur maximale
# algorithme: prod-dyn sur la ligne
# complexité: linéaire

from sys import stdin

def readint():
    return int(stdin.readline())

def readints():
    return map(int, stdin.readline().split())


def kadane(A):
    """trouve somme maximale dans L[i:j+1] avec i ≤ j
    problème:
        B[j] = max sum A[i:j+1] sur i ≤ j
        solution = max B
    cas de base:
        B[0] = A[0]
    pour i > 0:
        B[i] = A[i] + max(B[i - 1], 0)
    complexité:
        O(n) variables, récursion sur O(1) expressions
        complexité est O(n)
    """
    n = len(A)
    B = [None] * n
    B[0] = A[0]
    for i in range(1, n):
        B[i] = A[i] + max(B[i - 1], 0)
    return max(B)


n = readint()
A = [readint() for _ in range(n)]
print(kadane(A))
