#PX0057. 最长不下降子序列

最长不下降子序列

题目描述

设有由 nn 个的整数组成的数列,记为: b1,b2,,bnb_1,b_2,\cdots,b_n 若存在 i1<i2<i3<<iei_1 \lt i_2 \lt i_3 \lt … \lt i_e 且有 bi1bi2bieb_{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就是一个长度为 77 的不下降序列,同时也有7 ,9,16,18,19,21,22,63组成的长度为 88 的不下降序列。

如果有多种答案满足条件,输出一种即可。

输入格式

第一行输入一个正整数 n (1n200)n\ (1\leq n\leq 200),表示数列元素个数。

第二行输入用空格隔开的 nn 个整数 bi (103bi103)b_i\ (-10^3 \leq b_i \leq 10^3)

输出格式

第一行输出一个正整数表示最长不下降子序列的长度 LL

第二行输出 LL 个整数表示原序列的最长不下降子序列,如果有多种答案满足条件,输出一种即可。

输入样例

14
13 7 9 16 38 24 37 18 44 19 21 22 63 15

输出样例

8
7 9 16 18 19 21 22 63