//能通过的啊!
#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;
}