![HDU 1003 Max Sum(DP) HDU 1003 Max Sum(DP)](https://image.shishitao.com:8440/aHR0cHM6Ly9ia3FzaW1nLmlrYWZhbi5jb20vdXBsb2FkL2NoYXRncHQtcy5wbmc%2FIQ%3D%3D.png?!?w=700&webp=1)
题意 : 就是让你从一个数列中找连续的数字要求他们的和最大。
思路 : 往前加然后再判断一下就行。
#include <iostream>
#include<stdio.h>
using namespace std;
int main()
{
int n,start,end;
cin>>n;
int m ;
for(int k = ; k <= n ; k++)
{
cin>>m;
int max = -,sum = ,flag = ;
for(int i = ; i <= m- ; i++)
{
int ch ;
cin>>ch ;
sum += ch;
if(sum > max)
{
max = sum;
start = flag;
end = i+;
}
if(sum<)
{
sum=;
flag=i+;
}
}
cout<<"Case "<<k<<":"<<endl<<max<<" "<<start<<" "<<end<<endl;
if(k != n)
cout<<endl;
}
return ;
}