#include<stdio.h>
#include<string.h>
//就老老实实的写,求稳,有精力再优化
long long max(long long a,long long b)
{
    return a>b?a:b;
}
int main()
{
    int n;
    
    while(scanf("%d",&n)!=EOF)
    {
        long long ret[200001]={0};
        long long dp[200001];
        long long sum=-1e9;
        for(int i=1;i<=n;i++)
        {
            scanf("%lld ",&ret[i]);
        }
        dp[0]=-1e9;
        for(int i=1;i<=n;i++)
        {
            dp[i]=max(dp[i-1]+ret[i],ret[i]);
            sum=max(sum,dp[i]);
        }
        printf("%lld",sum);
    }
    return 0;
}