#include<stdio.h> int main() { int i,n,num[1000],k,j,smax[1000]={0},sum,t=0,max,flag; scanf("%d",&n); while(n!=0&&n<=1000000) { max=0; for(i=0;i<n;i++) smax[i]=0; for(i=0;i<n;i++) scanf("%d",&num[i]); i=0; while(i<n) { flag=1; while(num[i]<=0&&i<n) i++; if(i>=n&&smax[0]==0) { max=num[0]; for(k=1;k<n;k++) { if(max<num[k]) max=num[k]; } flag=0; break; } k=i; smax[t]=num[k]; sum=0; for(j=k+1;j<n;j++) { sum+=num[j]; if(sum>0) { smax[t]+=sum; sum=0; } } t++; i++; } if(flag==1) { max=smax[0]; for(i=1;i<t;i++) { if(max<smax[i]) max=smax[i]; } printf("%d\n",max); } else printf("%d\n",max); scanf("%d",&n); } return 0; } |
Double click to view unformatted code.