作者在 2008-04-26 18:36:07 发布以下内容
http://acm.hdu.edu.cn/showproblem.php?pid=1003
#include<stdio.h>
#include<string.h>
int a[100001];
void biggest(int w)
{
int i,m,r,s1,e1,s,e;
r=-1000;
m=0;
s=1;e=1;
s1=1;e1=1;
for(i=1;i<=w;i++)
{
if(m>=0){m+=a[i];e=i;}
else if(m<0){m=a[i];s=i;e=i;}
if(m>r){s1=s;e1=e;r=m;}
}
printf("%d %d %d\n",r,s1,e1);
}
void main()
{
int n,m,w,i;
scanf("%d",&n);
m=n;
while(n--)
{
memset(a,0,sizeof(a));
scanf("%d",&w);
for(i=1;i<=w;i++)
scanf("%d",&a[i]);
printf("Case %d:\n",m-n);
biggest(w);
if(n>=1)
printf("\n");
}
}