#include <stdio.h>
#include <stdlib.h>
int *a;
int max(int a, int b){return a > b ? a : b;}
void creat(int n){a = (int *)malloc((n + 5)*sizeof(int));}
void get(int n){for(int i = 1; i <= n; i++)scanf("%d", &a[i]);}
int maxsum(int n)
{
int ans = 0;
a[0] = 0;
for(int i = 1; i <= n; i++)
{
if(a[i] + a[i - 1] > a[i])a[i] += a[i - 1];
ans = max(ans, a[i]);
}
return ans;
}
int main()
{
int n, ans;
scanf("%d", &n);
creat(n);
get(n);
ans = maxsum(n);
printf("%d\n", ans);
return 0;
}