//能通过的啊!
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
void findMaxSum(int *a,int n)
{
if (a == NULL || n <= 0)
return;
int maxSum = a[0];
int currsum = 0;
int i = 0;
for (i = 0;i < n;i++)
{
//currsum += a[i];
if (currsum < 0)
{
// i = i+1;
currsum = a[i];
}
else
{
currsum += a[i];
// i = i+1;
}
if (currsum > maxSum)
maxSum = currsum;
}
cout << maxSum << endl;
}
int main()
{
int Len = 0;
while (scanf("%d",&Len) != EOF)
{
int *a = new int[Len];
for (int i = 0;i < Len;i++)
a[i] = 0;
for (int i = 0;i < Len;i++)
cin >> a[i];
findMaxSum(a,Len);
delete[] a;
}
return 0;
}