LIS-hdu1087

来源:互联网 发布:c语言培训 编辑:程序博客网 时间:2024/05/22 05:26

本来我想找一道lis的裸题,没想到这个还要麻烦一丢丢。并且不需要计算长度。。
如果j

#include <iostream>#include <cstdio>#include <cstdlib>using namespace std;/*之所以写着一道题是因为要为其他一个做铺垫。*/const int maxn=1002;int a[maxn];int dp[maxn];int main(){  int t;   while(~scanf("%d",&t))         {   if(t==0) break;             for(int i=0;i<t;i++)                scanf("%d",&a[i]);          for(int i=0;i<t;i++)            dp[i]=1;            for(int i=0;i<t;i++)            {  dp[i]=a[i];                for(int j=0;j<i;j++)                {  if(a[i]>a[j])                    dp[i]=max(dp[i],dp[j]+a[i]);                }            }            int sum=-1;             for(int i=0;i<t;i++)               sum=max(sum,dp[i]);                cout<<sum<<endl;         }    return 0;}
0 0
原创粉丝点击