最大子序列之和
状态转移方程:sum[i] = sum[i-1]>0?sum[i-1]+num[i]:num[i]
比较max 和sum[i],判断是否更新sta ,end
#include<iostream>
using namespace std;
int main()
{
int t,count = 1;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
int i,sta,end,j;
int sum = 0,max = INT_MIN;
for(j = i = 0;i < n;i++)
{
int x;
scanf("%d",&x);
sum += x;
if(sum > max)
max = sum,sta = j,end = i;
if(sum < 0)
sum = 0,j = i+1;
}
printf("Case %d:\n%d %d %d\n",count++,max,sta+1,end+1);
if(t != 0) printf("\n"); //
}
}