考查知识点:动态规划之最大连续子序列和
看不懂得可以留言,,
#include<cstdio>
#include<algorithm>
using namespace std;
int main(){
int N,n[
10050],start=
1,answer,Max=
0,answerstart=
1,answerend=
1;
scanf(
"%d",&N);
scanf(
"%d",n+
1);
answer=Max=n[
1];
for(
int end=
2;end<=N;end++){
scanf(
"%d",n+end);
if(Max>=
0) Max+=n[end];
else{
Max=n[end];
start=end;
}
if (Max > answer){
answer = Max;
answerstart = start;
answerend = end;
}
}
if(answer<
0){
answer=
0;
answerstart=
1;
answerend=N;
}
printf(
"%d %d %d",answer,n[answerstart],n[answerend]);
return 0;
}
转载请注明原文地址: https://ju.6miu.com/read-1312130.html