HDU - 1003 Max Sum
#include<cstdio>
#include<cstring>
int dp[100010];
int main()
{
int t,n;scanf("%d",&t);
for(int tt=1;tt<=t;tt++)
{
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&dp[i]);
int start=1,l=1,r=1;
int maxsum=dp[1];
for(int i=2;i<=n;i++)
{
if(dp[i-1]>=0) dp[i]=dp[i-1]+dp[i];
else start=i;
if(dp[i]>maxsum)//如果比最大值大,更新位置
{
maxsum=dp[i];
l=start;
r=i;
}
}
if(tt>1) puts("");//注意换行
printf("Case %d:\n",tt);
printf("%d %d %d\n",maxsum,l,r);
}
return 0;
}