讨论 / 刚用上RQNOJ,第一次发题解,简单DP,C++水过。。。。。。附上AC代码
hutianxiangdawang 2015-04-17 06:04:58
点我顶贴 收藏 删除
#include <iostream>

using namespace std;

struct dp {

int start;

int data;

};

int main() {

int n;

cin>>n;

int a[n];

dp s[n];

bool x=true;

for(int i=0;i<n;i++) {

cin>>a[i];

if(a[i]>=0) x=false;

}

if(x) cout<<0<<endl;

s[0].start=0,s[0].data=a[0];

for(int i=1;i<n;i++) {

if(s[i-1].data+a[i]>=a[i]) {

s[i].start=s[i-1].start;

s[i].data=s[i-1].data+a[i];

} else {

s[i].start=i;

s[i].data=a[i];

}

}

int zddata=s[0].data;

int zdh=0;

for(int i=1;i<n;i++) {

if(s[i].data>zddata) {

zddata=s[i].data;

zdh=i;

}

}

cout<<s[zdh].start+1<<' '<<zdh+1<<endl<<zddata<<endl;

return 0;

}

#1 hutianxiangdawang@2015-04-17 06:05:56
回复 删除

#2 hutianxiangdawang@2015-04-17 06:06:03
回复 删除
顶顶
#3 xuyizhou@2015-12-27 04:09:28
回复 删除
最大连续子段求和

查看更多回复
提交回复