#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=10010;
int A[maxn],dp[maxn];
int main(){
int n;
scanf_s("%d",&n);
for(int i=0;i<n;i++){
scanf_s("%d",&A[i]);
}
dp[0]=A[0];
for(int i=1;i<n;i++){
dp[i]=max(A[i],dp[i=1]+A[i]);
}
int k=0;
for(int i=1;i<n;i++){
if(dp[i]>dp[k]){
k=i;
}
}
printf("%d\n",dp[k]);
return 0;
}
最大连续子序列和动态规划实现:
最新推荐文章于 2022-03-02 23:31:42 发布