#include<stdio.h>
#define MAXN 100000
int maxsubsesum(int A[],int n)
{
int i;
int Thissum=0,maxsum=0;
for(i=0;i<n;i++)
{
Thissum+=A[i];
if(Thissum>maxsum)
{
maxsum=Thissum;
}
else if(Thissum<0)
{
Thissum=0;
}
}
return maxsum;
}
int main()
{
int A[MAXN],maxn,i,n;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&A[i]);
}
maxn=maxsubsesum(A,n);
printf("%d\n",maxn);
return 0;
}
#define MAXN 100000
int maxsubsesum(int A[],int n)
{
int i;
int Thissum=0,maxsum=0;
for(i=0;i<n;i++)
{
Thissum+=A[i];
if(Thissum>maxsum)
{
maxsum=Thissum;
}
else if(Thissum<0)
{
Thissum=0;
}
}
return maxsum;
}
int main()
{
int A[MAXN],maxn,i,n;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&A[i]);
}
maxn=maxsubsesum(A,n);
printf("%d\n",maxn);
return 0;
}