HDOJ1003 - Max Sum
2013-04-03 00:04
330 查看
题目大意:和1231一样,求最大连续子序列和,只是这个题目是要求求的是最大连续子序列和的首元素位置和尾元素位置。
题解:直接把1231的代码稍微修改一下就行了。。。
题解:直接把1231的代码稍微修改一下就行了。。。
#include<stdio.h> #include<stdlib.h> #include<string.h> #define MAXN 100005 typedef struct { long x,y; } NODE; NODE path[MAXN]; long d[MAXN],a[MAXN]; int main(void) { long i,n,maxs,l,r,T,p; scanf("%ld",&T); p=1; while(T--) { scanf("%ld",&n); for(i=0; i<n; i++) scanf("%ld",&a[i]); memset(d,0,sizeof(d)); d[0]=a[0]; maxs=d[0]; l=0; r=0; for(i=1; i<n; i++) { if(d[i-1]<0) { d[i]=a[i]; path[i].x=i; path[i].y=i; if(d[i]>maxs) { maxs=d[i]; l=i; r=i; } } else { d[i]=d[i-1]+a[i]; path[i].x=path[i-1].x; path[i].y=i; if(d[i]>maxs) { maxs=d[i]; l=path[i].x; r=path[i].y; } } } printf("Case %ld:\n",p++); printf("%ld %ld %ld\n",maxs,l+1,r+1); if(T) printf("\n"); } return 0; }
相关文章推荐
- HDOJ 1003 Max Sum
- HDOJ 1003.Max Sum 答案
- hdoj 1003 Max Sum
- HDOJ 1003 Max Sum
- HDOJ 1003 Max Sum参考程序
- HDOJ 1003 Max Sum(动态规划)
- 【算法】HDOJ-1003 Max Sum
- HDOJ1003 Max Sum
- HDOJ 1003 Max Sum
- hdoj 1003 Max Sum
- Max Sum--hdoj 1003 dp
- HDOJ 1003 Max Sum
- HDOJ 1003 Max Sum
- hdoj 1003 Max Sum 【最大子段和】【贪心】
- HDOJ 1003 Max Sum 杭电 ACM
- Max Sum--hdoj 1003 dp
- HDOJ1003.Max Sum
- HDOJ-1003 Max Sum
- HDOJ 1003 Max Sum(新手动态规划)
- HDOJ -- 1003 Max Sum