SP57 SUPPER - Supernumbers in a permutation
题目描述
一个 $n$ 元排列是一个包含 $n$ 个不同数字的序列,这些数字来自集合 $\{1, 2, \ldots, n\}$。例如,序列 2,1,4,5,3 是一个 5 元排列。我们关注排列中的最长递增子序列。在这个示例排列中,最长递增子序列的长度为 3,并且恰好有 2 个这样的子序列:2,4,5 和 1,4,5。我们将属于任何一个最长递增子序列的数字称为**超级数**。在排列 2,1,4,5,3 中,超级数是 1,2,4,5,而 3 不是超级数。你的任务是为给定的排列找出所有超级数。
---
### 任务
编写一个程序:
- 从标准输入读取一个排列;
- 找出它的所有超级数;
- 将所有找到的数字输出到标准输出。
输入格式
共有十个测试用例(一个接一个给出,你必须全部处理!)。每个测试用例由两行组成。第一行是一个整数 $n$($1 \le n \le 100000$)。第二行是一个 $n$ 元排列——$n$ 个数字,由单个空格分隔。
输出格式
对于每个测试用例,你的程序应输出两行。第一行输出输入排列中超级数的个数。第二行按递增顺序输出这些超级数,数字之间用单个空格分隔。
说明/提示
**警告:输入/输出数据量较大,某些语言请谨慎处理。**
使用deepseek-v4-pro-preview翻译