HDU 1003 Max Sum(DP)

时间:2023-03-09 22:48:17
HDU 1003 Max Sum(DP)

点我看题目

题意 : 就是让你从一个数列中找连续的数字要求他们的和最大。

思路 : 往前加然后再判断一下就行。

#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 ;
}