#P1567. 最长子序列(subsequence)
最长子序列(subsequence)
题目描述
小 C 有一个长度为 的序列 。
小 C 认为一个子序列是好的当且仅当该子序列中的元素互不相同。
小 C 想要知道序列 中最长的好的子序列的长度。
同时小 C 还想要找出序列 中最长的好的子序列中字典序最小的那一个,这里的字典序与经典的字典序定义不同,需要将下标位置为奇数的数字乘以 后再进行比较。例如序列 的字典序在该定义下是小于 的。
输入格式
输入的第一行包含一个整数 。
接下来一行包含 个整数,第 个整数表示 。
输出格式
输出共两行。
第一行包含一个整数,表示序列 中最长的好的子序列的长度。
第二行包含若干个整数,表示字典序最小的最长的好的子序列。
样例输入 #1
4
3 2 1 3
样例输出 #1
3
3 2 1
样例输入 #2
10
5 2 1 7 9 7 2 5 5 2
样例输出 #2
5
5 1 9 7 2
数据范围
样例 1 解释
最长的好的子序列共有 两种,其中 字典序更小。
- 对于 的数据,保证 。
- 对于 的数据,保证 。
- 对于 的数据,保证 。
- 对于 的数据,保证 ,。