#include <iostream>
#include <algorithm>
#include <vector>
#include <cstring>
#include <cstdio>
using namespace std;
int main(){
int a[1005];
int n;
int dp[1005];
while(cin>>n){
// memset(dp,sizeof(dp),0);
memset(dp,0,sizeof(dp));
if(n==0)
break;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=1;i<=n;i++)
{
for(int j=0;j<i;j++)
{
if(a[j] < a[i])
dp[i]=max(dp[i],dp[j]+a[i]);
}
dp[i]=max(dp[i],a[i]);
}
int max1=0;
for(int i=1;i<=n;i++)
{
if(dp[i]>max1)
max1=dp[i];
}
cout<<max1<<endl;
}
return 0;
}
HDU 1087 DP
最新推荐文章于 2019-08-10 14:32:32 发布