[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  

 

你可能感兴趣的:(序列)