题目描述
给定一个长度为 的整数序列 ,请找出它的最长不下降子序列,输出长度和任意一组方案。
即选出下标 ,使得
并使 尽可能大。子序列可以不连续,但必须保持原序列中的先后顺序。
输入格式
第一行输入一个整数 。
第二行输入 个整数 。
输出格式
第一行输出一个整数 ,表示最长不下降子序列的长度。
第二行输出 个整数,表示你选出的子序列的数值,而不是下标。
若有多组最优方案,输出任意一组均可。
样例 1
6
3 1 2 2 5 4
4
1 2 2 4
样例 1 说明
选取原序列第 个数,得到 1 2 2 4,长度为 。
输出 1 2 2 5 也是正确方案。注意,相等的数可以连续选入。
样例 2
5
-1 -3 -5 -7 -9
1
-5
样例 2 说明
序列严格下降,最长不下降子序列的长度为 ,选取任意一个数均可。
数据范围与评分
对于所有数据,,。
| 测试组 | 分值 | 额外限制 |
|---|---|---|
| 1 | 20 | n <= 20 |
| 2 | 30 | n <= 2000 |
| 3 | 50 | 无 |
各组独立计分,只有通过一组内的所有测试点,才能获得该组分数。