#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;
}

京公网安备 11010502036488号