HDU ACM 1003 Max Sum

注意只有一个负数时,负数也算最大值。

#include<iostream>
using namespace std;

int main()
{
	int a[100001];
	int T,T2=0,n,i;
	int sum,maxsum,start,maxstart,maxend;

	cin>>T;
	while(T--)
	{
		cin>>n;
		for(i=0;i<n;i++)
			cin>>a[i];

		maxstart=maxend=sum=0;
		maxsum=-500000000;
		start=0;
		for(i=0;i<n;i++)
		{
			sum+=a[i];
			if(sum<a[i])
			{
				sum=a[i];
				start=i;
			}
			if(sum>maxsum)
			{
				maxsum=sum;
				maxstart=start;
				maxend=i;
			}
		}
		cout<<"Case "<<++T2<<":\n"<<maxsum<<" "<<maxstart+1<<" "<<maxend+1<<endl;
		if(T!=0) cout<<endl;
	}
    return 0;
}
时间: 2024-10-10 01:01:31

HDU ACM 1003 Max Sum的相关文章

HDU acm 1003 Max Sum || 动态规划求最大子序列和详解

Max Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 164592    Accepted Submission(s): 38540 Problem Description Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max su

杭电 HDU ACM 1003 Max Sum

 Max Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 164592    Accepted Submission(s): 38540 Problem Description Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the ma

杭电(hdu)ACM 1003 Max Sum

Max Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 178139    Accepted Submission(s): 41558 Problem Description Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max s

【HDU】1003 Max Sum [动态规划]

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1003 动态规划:f[i]表示以 i 结尾的最大的连续和.则转移方程为  f[1]=a[1]; if(f[i-1]+a[i]>=a[i]){ f[i]=f[i-1]+a[i]; } else {   f[i]=a[i]; } 再顺带更新一下起始终止位置就可以了. #include<cstdio> #include<iostream> #include<algorithm>

HDU ACM 1024 Max Sum Plus Plus -&gt;最大连续子序列和的增强版

#include<iostream> #include<limits.h> using namespace std; #define N 1000005 int a[N],dp[N],maxpre[N]; int max(int a,int b) { return a>b?a:b; } int main() { int i,j,n,m,tmp; while(scanf("%d%d",&m,&n)==2) { for(i=1;i<=n;

[ACM] hdu 1003 Max Sum(最大子段和模型)

Max Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 135262    Accepted Submission(s): 31311 Problem Description Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max s

HDU 1003 Max Sum 最大连续子序列的和

Problem Description Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14. Input The first line of the input contains

HDU 1003 Max Sum(dp,最大连续子序列和)

Max Sum Problem Description Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14. Input The first line of the input

HDU 1003 Max Sum (动规)

Max Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 141547    Accepted Submission(s): 32929 Problem Description Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max s