#D2095O. 求最长不下降子序列的个数和明细

求最长不下降子序列的个数和明细

【题目描述】

设有由n(1n2000)个不相同的整数组成的数列,记为:b(1)b(2)b(n)b(1)、b(2)、……、b(n)若存在i1<i2<i3<<iei1<i2<i3<…<ie 且有b(i1)<=b(i2)<=<=b(ie)b(i1)<=b(i2)<=…<=b(ie)则称为长度为e的最长不下降子序列。程序要求,当原数列出之后,求出最长的不下降子序列。

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

【输入】

第一行输入一个N, 第二行为N个整数。

【输出】

输出两行

第一行:最长不下降子序列的个数

第二行:所求的最长不下降子序列方案明细,方案可以有多种,输出一种即可。(本题采用SPJ评测)

【输入样例】

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

【输出样例】

9
7 9 16 18 19 19 21 22 63