ACMSTEP 3.2.1 && HDU1003 Max Sum //DP 最大字段和

来源:互联网 发布:淘宝上宁美国度怎么样 编辑:程序博客网 时间:2024/05/07 08:28

原题链接(HDU1003)

这道题和JOJ的1995: Energy  是一个类型的题:最大字段和。

但是这个是需要你考虑出最大的字段和 还要考虑出这个字段和 是从哪儿到哪儿。

【注意】这道题有个细节:就是如果都是负数的时候,就是那个最小的负数!



#include <iostream>using namespace std;int main(){//freopen("c:\\in.txt","r",stdin);int cases, n;int cur, i,j, maxn, sum, begn, endn,x;cin>>cases;for(j=1; j<=cases; j++){cin>>n>>cur;sum = maxn = cur;begn = endn = x = 1;for (i=2; i<=n; i++){scanf("%d",&cur);if (sum+cur < cur){sum=cur;x=i;}elsesum += cur;if (sum>maxn){maxn = sum;begn = x;endn = i;}}cout<<"Case "<<j<<":"<<endl;cout<<maxn<<" "<<begn<<" "<<endn<<endl;if (j!=cases) cout<<endl;}return 0;}


原创粉丝点击