#448. [R72D]过滤

[R72D]过滤

时空限制

1S/256M

题目描述

给定一个长度为 nn 的整数数组 aa,其中 1ain1\le a_i\le n

对于一个整数 x (1xn)x~(1\le x\le n),按照以下规则得到一个二进制数组 bb

$$b_i= \begin{cases} 0,&a_i\le x,\\ 1,&a_i>x. \end{cases} $$

回文数组是指从左到右与从右到左读取完全相同的数组。请找出所有能使数组 bb 成为回文数组的 xx

可以证明,至少存在一个满足条件的 xx

格式

输入格式

第一行包含一个正整数 nn,表示数组长度。

第二行包含 nn 个正整数 a1,a2,,ana_1,a_2,\ldots,a_n

输出格式

第一行输出一个正整数 kk,表示符合条件的 xx 的数量。

第二行按照从小到大的顺序输出 kk 个整数,表示所有符合条件的 xx

样例

样例输入 #1

6
2 5 1 1 6 4

样例输出 #1

3
1 4 6

样例解释 #1

x=1,4,6x=1,4,6 时,得到的 bb 分别为

$$[1,1,0,0,1,1],\quad [0,1,0,0,1,0],\quad [0,0,0,0,0,0], $$

它们均为回文数组。其余 xx 均不符合条件。

数据规模

注意:你只有通过了子任务的所有测试点,才能获得对应子任务的分数。

子任务编号 分数 nn\le
11 3030 10001000
22 7070 2×1052\times 10^5

对于 100%100\% 的数据,满足 1n2×1051\le n\le 2\times 10^51ain1\le a_i\le n