[TYVJ] P1049 最长不下降子序列

最长不下降子序列

 

描述 Description
求最长不下降子序列的长度
 
输入格式 InputFormat
第一行为n,表示n个数
第二行n个数
 
输出格式 OutputFormat
最长不下降子序列的长度
 
样例输入 SampleInput [复制数据]

3
1 2 3

 

样例输出 SampleOutput [复制数据]

3

 

数据范围和注释 Hint
N小于5000
for each num <=maxint
 
代码:
 1 #include<stdio.h>
 2 
 3 int
 4 max(int a,int b)
 5 {
 6     if (a>b) return(a);
 7     else return(b);
 8 }
 9 
10 int
11 main(void)
12 {
13     int i,j,n,maxx,a[5020],b[5020];
14     
15     scanf("%d\n",&n);
16     for (i=1;i<=n;i++)
17     scanf("%d",&a[i]);
18     
19     for (i=1;i<=n;i++) b[i]=1;
20     for (i=1;i<=n;i++)
21         for (j=1;j<i;j++)
22             if (a[j]<=a[i])
23             b[i]=max(b[i],b[j]+1);
24     maxx=0;
25     for(i=1;i<=n;i++)
26     if (b[i]>maxx) maxx=b[i];
27     printf("%d\n",maxx);
28     return 0;
29 }
30 
31  

 

posted @ 2014-03-11 12:53  SXISZERO  阅读(219)  评论(0编辑  收藏  举报