#include<stdio.h> #include<stdlib.h> int main() { int *a,*b; a=(int *)malloc(sizeof(int)*1000000); b=(int *)malloc(sizeof(int)*1000000); int n,i; int max; while(scanf("%d",&n)!=EOF) { if(n==0) break; for(i=0;i<n;i++) { scanf("%d",&a[i]); } b[0]=a[0]; max=0; for(i=1;i<n;i++) { if(b[i-1]<0) b[i]=a[i]; else b[i]=b[i-1]+a[i]; if(b[i]>max) max=b[i]; } printf("%d\n",max); } return 0; } |
Double click to view unformatted code.