hdu 1087
水题
最长递增子序列和,dp更好
AC代码:
#include <iostream>
#include <cstring>
#define MAX(a,b) a>b?a:b
using namespace std;
int main()
{
int i,sum[1000],a[1000],n,j;
while(cin>>n&&n)
{
for(i=1;i<=n;i++)
{cin>>a[i];
sum[i]=0;}
for(i=1;i<=n;i++)
{
int flag=0;
for(j=i-1;j>=1;j--)
if(a[i]>a[j]&&flag<sum[j])
flag=sum[j];
sum[i]=a[i]+flag;
}
int Max=sum[1];
for(i=2;i<=n;i++)
if(Max<sum[i]) Max=sum[i];
cout<<Max<<endl;
}
return 0;
}

浙公网安备 33010602011771号