最长上升 DP2

 

 

 

//  源程序2    DP   

#include <stdio.h>

int n,ans, a[1001],b[1001];

int main()

{   int i,j;

    scanf("%d",&n);

    for(i=1;i<=n;i++)

    {     scanf("%d",&a[i]);     b[i]=1;    }

    for(i=1;i<=n;i++)

       for(j=1;j<=i;j++)

            if(a[i]>a[j]&&b[j]+1>b[i])  b[i]=b[j]+1;  

    ans=1;

    for(i=1;i<=n;i++)

        if(ans<b[i])   ans=b[i];  

    printf("%d\n",ans);

    return 0;

}

posted @ 2014-08-15 11:30  2014acm  阅读(80)  评论(0编辑  收藏  举报