核心代码:
dp[i]=a[i]
dp[i]=max(dp[i],dp[j]+a[i]);
res=max dp[i];
#include<iostream>
using namespace std;
int n;
int dp[1001];
int a[1001];
int main(){
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<n;i++){
dp[i]=a[i];
}
int res=0;
for(int i=1;i<n;i++){
for(int j=0;j<i;j++){
if(dp[j]<dp[i]){
dp[i]=max(dp[i],dp[j]+a[i]);
}
}
}
for(int i=0;i<n;i++){
res=max(res,dp[i]);
}
cout<<res;
return 0;
}