#T1259. 【例9.3】求最长不下降序列

【例9.3】求最长不下降序列

题目描述:

给定一个由 nn 个不相同的整数组成的数列 b(1),b(2),,b(n)b(1), b(2), \dots, b(n),其中 1n2001 \leq n \leq 200。求出这个数列中的 最长不下降子序列 的长度。

我们称一个子序列为不下降序列,当且仅当它的元素满足:b(i1)b(i2)b(ie)b(i_1) \leq b(i_2) \leq \dots \leq b(i_e),其中 i1<i2<<iei_1 < i_2 < \dots < i_e

例如:给定数列 $[13, 7, 9, 16, 38, 24, 37, 18, 44, 19, 21, 22, 63, 15]$,该数列中 最长的不下降子序列[13,16,18,19,21,22,63][13, 16, 18, 19, 21, 22, 63],长度为 7不下降序列,同时也有[79161819212263][7 ,9,16,18,19,21,22,63]组成的长度为8的不下降序列。

输入

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

输出

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

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

样例

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

来源

一本通在线评测