//初始化dp为每个数本身 #include<iostream> #include<math.h> using namespace std; int nums[1002]; int dp[1002]; //dp[i][j]表示从i int main(){ int k; cin>>k; int maxl=0; for(int i=1;i<=k;i++){ cin>>nums[i]; dp[i]=nums[i]; } // dp[1]=nums[1]; for(int i=1;i<=k;i++){ for(int j=1;j<i;j++){ if(nums[i]>nums[j]){ dp[i]=max(nums[i]+dp[j],dp[i]); } } } for(int i=1;i<=k;i++){ maxl=max(maxl,dp[i]); } cout<<maxl; return 0; } /* 8 300 207 155 300 299 170 158 65 */