考查知识点:动态规划之最大连续子序列和
看不懂得可以留言,,
#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;
}