#P138. 求最长不下降序列

求最长不下降序列

题目描述

设有由 n(1n200)n(1 \le n \le 200) 个不相同的整数组成的数列,记为:b(1),b(2),,b(n)b(1), b(2), \cdots, b(n)b(i)b(j)(ij)b(i) \ne b(j)(i \ne j),若存在 i1<i2<i3<<iei_1 < i_2 < i_3 < \cdots < i_e 且有 b(i1)b(i2)b(ie)b(i_1) \le b(i_2) \le \cdots \le b(i_e) 则称为长度为 ee 的不下降序列。

程序要求,当原数列出之后,求出最长的不下降序列。

例如:13,7,9,16,38,24,37,18,44,19,21,22,63,15

例中 13,16,18,19,21,22,63 就是一个长度为 7 的不下降序列,同时也有 7,9,16,18,19,21,22,63 组成的长度为 8 的不下降序列。

输入格式

第一行为 nn,第二行为用空格隔开的 nn 个整数。

输出格式

第一行为输出最大个数 max(形式见样例);

第二行为 max 个整数形成的不下降序列,答案可能不唯一,输出一种就可以了,本题进行特殊评测。

数据范围

1n2001 \le n \le 200