#include <stdio.h> int main () { int n,i,j,m,*p,a,b,max,s,l; scanf("%d",&m); for (l=0;l<m;l++) { if(l) putchar('/n'); scanf("%d",&n); p=new int [n]; max=-0x80000000; for (i=0;i<n;i++) //找出最大数 如果是负数后面就不用做了 { scanf("%d",p+i); if(p[i]>max) { max=p[i]; a=b=i; } } if (max<0) { goto aaa; } else { max=0; s=0; a=b=0; for (i=0,j=0;j<n;j++) { s+=p[j]; if (s>=max) { max=s; a=i; b=j; } else if(s<0) { i=j+1; s=0; } } } aaa: delete p; printf("Case %d:/n",l+1); printf("%d %d %d/n",max,a+1,b+1); } }