#CJM10C. [J模10] 最长子序列(subsequence)

[J模10] 最长子序列(subsequence)

题目描述

小 C 有一个长度为 nn 的序列 AA。

小 C 认为一个子序列是好的当且仅当该子序列中的元素互不相同。

小 C 想要知道序列 AA 中最长的好的子序列的长度。

同时小 C 还想要找出序列 AA 中最长的好的子序列中字典序最小的那一个,这里的字典序与经典的字典序定义不同,需要将下标位置为奇数的数字乘以 −1-1 后再进行比较。例如序列 [3,2,1][3,2,1] 的字典序在该定义下是小于 [2,2,1][2,2,1] 的。

输入格式

输入的第一行包含一个整数 nn。

接下来一行包含 nn 个整数,第 ii 个整数表示 AiA_i。

输出格式

输出共两行。

第一行包含一个整数,表示序列 AA 中最长的好的子序列的长度。

第二行包含若干个整数,表示字典序最小的最长的好的子序列。

4
3 2 1 3
3
3 2 1
10
5 2 1 7 9 7 2 5 5 2
5
5 1 9 7 2

数据范围

样例 1 解释

最长的好的子序列共有 [3,2,1],[2,1,3][3,2,1],[2,1,3] 两种,其中 [3,2,1][3,2,1] 字典序更小。

  • 对于 20%20\% 的数据,保证 n≤20n \le 20。
  • 对于 40%40\% 的数据,保证 n≤500n\le 500。
  • 对于 80%80\% 的数据,保证 n≤5000n\le 5000。
  • 对于 100%100\% 的数据,保证 1≤n≤3×1051\le n\le 3\times 10^5,1≤Ai≤n1\le A_i\le n。
难度 未评定
通过率 —
尝试 0
通过 0
ID
3840
类型
传统题
Time Limit
1000ms
Memory Limit
256MiB
上传者