//@Jobdo 清华06 典型的DY问题
//本题的时间复杂度为O(n).空间复杂度为O(1).
#include<stdio.h>
#include<algorithm>
using namespace std;
typedef long long int T;
T s[2];
int main()
{
int n;
while(~scanf("%d",&n)){
bool first=true;
T myMax, tp;
for(int i=1;i<=n;i++)
{
scanf("%lld",&tp);
if(first){
myMax=s[1]=tp;
first=false;
}
else
{
s[1]= s[0]>0 ? s[0]+tp : tp;
if(myMax<max(s[1],s[0]))
myMax=max(s[1],s[0]);
}
s[0]=s[1];
}
printf("%lld\n",myMax);
}//end while
return 0;
}