#include <stdio.h>
#include <stdlib.h>
#include <limits.h>

int main() {
    int n;
    while (scanf("%d", &n) != EOF) { // 注意 while 处理多个 case
        // 64 位输出请用 printf("%lld") to 
        int*dp=(int*)malloc(sizeof(int)*(n+1));
        int*arr=(int*)malloc(sizeof(int)*n);
        for(int i=0;i<n;i++)scanf("%d",arr+i);
        dp[0]=0;
        for(int i=0;i<n;i++){
            if(dp[i]>=0)dp[i+1]=dp[i]+arr[i];
            else dp[i+1]=arr[i];
        }
        int max=INT_MAX+1;
        for(int i=1;i<n+1;i++){
            if(dp[i]>max)max=dp[i];
        }
        printf("%d\n",max);
        free(dp);
        free(arr);
    }
    return 0;
}