#include<iostream>
#include<cstring>
#include<cstdio>
#define mem(a,b) memset((a),b,sizeof(a))
const int inf=1e9+10;
typedef long long ll;
const int N=100010;
using namespace std;
int a[1010];
int dp[1010][1010];
int main()
{
int n;
scanf("%d",&n);
int maxn=-inf;
for(int i=1;i<=n;i++)
{scanf("%d",&a[i]);}
for(int i=1;i<=n;i++)
maxn=max(maxn,a[i]);
if(maxn<0)
{printf("%d",maxn);return 0;}
int maxx=maxn;
int tmp=0;
int l=1,r=n;
for(int i=1;i<=n;i++)
{
tmp+=a[i];
if(tmp<0)
{
l=i+1;
tmp=0;
}
if(tmp>maxx)
{
maxx=tmp;
r=i;
}
}
if(tmp>maxx)
{maxx=tmp;r=n;}
printf("%d",maxx);
return 0;
}