from math import inf
n = int(input())
a = list(map(int,input().split()))
# 注意是连续的
# dp[i]定义为以索引i的数字结尾的连续子数组的最大和
dp = [-inf]*n
dp[0] = a[0]
for i in range(1,n):
    dp[i] = max(a[i],a[i]+dp[i-1])
print(max(dp))