‹ 上一题 下一题 ›

07397. LIS·输出一条方案 未做

1000 ms 256 MB 测试点 10 线性DP

题目描述

求最长严格上升子序列:输出长度,并从右往左贪心重建出一条方案——约定:先算 (以 结尾的最长长度),然后从最后一个元素往前扫,遇到 恰好等于「还需要的长度」且 小于已选的最后一个数时就选它,选够 个为止,把选中元素按原顺序输出。

输入格式

第一行一个整数 。
第二行 个整数 。

输出格式

第一行一个整数:最长严格上升子序列长度 。
第二行 个整数:按上述约定重建的方案中选中的元素(保持原数组中的先后顺序)。

样例

输入
8
10 9 2 5 3 7 101 18
输出
4
2 3 7 18

数据范围

,。

输入
输出

            
答案