max(dp[i],max(dp[j]+num[i]|num[j]<num[i])
#include <iostream>
using namespace std;
//最大上升子序列和
int num[1010];
int dp[1010];
int maxincrease(int n){
int ans=0;
dp[0]=num[0];
for(int i=1;i<n;i++){
dp[i]=num[i];
for(int j=0;j<i;j++){
if(num[j]<num[i])
dp[i]=max(dp[i],dp[j]+num[i]);
}
ans=max(ans,dp[i]);
}
return ans;
}
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>num[i];
}
int ans=maxincrease(n);
cout<<ans<<endl;
return 0;
}