#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;
}
最大连续子序列和动态规划实现:
最新推荐文章于 2023-01-24 00:20:47 发布
此篇博客详细阐述了一种使用C++编程语言解决最大子数组和问题的方法,通过动态规划算法求解数组中的连续子数组,找到其最大和。作者首先导入必要的库,然后通过逐个元素更新dp数组,找出最优解,最后找到使和最大的子数组起点。

501

被折叠的 条评论
为什么被折叠?



