4368: T3 最长子序列(subsequence)

内存限制:512 MB 时间限制:2.000 S
评测方式:文本比较 命题人:
提交:2 解决:1

题目描述

## T3 最长子序列(subsequence) ### 题目描述 小 C 有一个长度为 $n$ 的序列 $A$。 小 C 认为一个子序列是好的当且仅当该子序列中的元素**互不相同**。 小 C 想要知道序列 $A$ 中最长的好的子序列的长度。 同时小 C 还想要找出序列 $A$ 中最长的好的子序列中**字典序**最小的那一个,这里的字典序与经典的字典序定义不同,需要将下标位置为奇数的数字乘以 $-1$ 后再进行比较。例如序列 $[3,2,1]$ 的字典序在该定义下是小于 $[2,2,1]$ 的。

输入

### 输入格式 输入的第一行包含一个整数 $n$。 接下来一行包含 $n$ 个整数,第 $i$ 个整数表示 $A_i$。

输出

### 输出格式 输出共两行。 第一行包含一个整数,表示序列 $A$ 中最长的好的子序列的长度。 第二行包含若干个整数,表示**字典序**最小的最长的好的子序列。

样例输入 复制

4
3 2 1 3

样例输出 复制

3
3 2 1

提示

### 样例 1 输入 ``` 4 3 2 1 3 ``` ### 样例 1 输出 ``` 3 3 2 1 ``` ### 样例 1 解释 最长的好的子序列共有 $[3,2,1],[2,1,3]$ 两种,其中 $[3,2,1]$ 字典序更小。 ### 样例 2 输入 ``` 10 5 2 1 7 9 7 2 5 5 2 ``` ### 样例 2 输出 ``` 5 5 1 9 7 2 ``` 其余样例见下发文件。 ### 数据规模与约定 - 对于 $20\%$ 的数据,保证 $n \le 20$。 - 对于 $40\%$ 的数据,保证 $n\le 500$。 - 对于 $80\%$ 的数据,保证 $n\le 5000$。 - 对于 $100\%$ 的数据,保证 $1\le n\le 3\times 10^5$,$1\le A_i\le n$。