/*
HDOJ 1087
最长不下降子序列类型的问题
*/
#include <iostream>
using namespace std;
int main()
{
int n,num[1001],i,j,sum[1001],maxn;
while(cin>>n)
{
if(n == 0)
break;
for(i=0;i<n;i++)
cin>>num[i];
memset(sum,0,sizeof(sum));
sum[0]=num[0];
for(i=1;i<n;i++)
{
maxn=0;
for(j=0;j<i;j++)
{
if(sum[j]>maxn && num[j]<num[i])
maxn=sum[j];
}
sum[i]=maxn+num[i];
}
maxn=0;
for(i=0;i<n;i++)
{
if(sum[i] > maxn)
maxn=sum[i];
}
cout<<maxn<<endl;
}
return 0;
}
动态规划——HDOJ 1087
最新推荐文章于 2020-02-08 11:45:18 发布