#include<cstdio>
#include<queue>
#include<algorithm>
using namespace std;
const int maxn=1006;
int dp[maxn],a[maxn],n,maxm=-1,maxi;
int main(){
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
dp[0]=a[0];
for(int i=1;i<n;i++){
dp[i]=max(a[i],dp[i-1]+a[i]);
if(dp[i]>maxm){
maxm=dp[i];
maxi=i;
}
}
printf("%d\n",dp[maxi]);
return 0;
}
最大连续子序列和--采用动态规划之状态转移方程
最新推荐文章于 2021-07-13 21:40:39 发布