本文主要是介绍hdu 题目1003 Max Sum (最大连续子序列和),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
http://acm.hdu.edu.cn/showproblem.php?pid=1003
这个如果全是负数的话;
最大子序列和不是0;
#include <stdio.h>
int main()
{
int n,t,tt,i,tmp,sum,max,tmax,start,end,a0;
scanf("%d",&t);
for(tt=1;tt<=t;tt++){
scanf("%d%d",&n,&a0);
max = tmax = a0;
start = end = tmp =1;
for(i=2;i<=n;i++){
scanf("%d",&a0);
if(tmax + a0 < a0){
tmax = a0;
tmp = i;
}
else tmax += a0;
if(tmax > max){
max = tmax;
start = tmp;
end = i;
}
}
printf("Case %d:\n%d %d %d\n",tt,max,start,end);
if (tt<t) printf("\n");
}
return 0;
}
/*
5
5 6 -1 5 4 -7
7 0 6 -1 1 -6 7 -5
5 -1 -1 -1 3 -1
5 5 -1 -5 6 -1
5 -1 -1 -1 -2 -2
*/
这篇关于hdu 题目1003 Max Sum (最大连续子序列和)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!