#CF977F. 连续整数子序列

连续整数子序列

连续整数子序列

  • 时间限制:2 秒
  • 内存限制:256 MiB

题目描述

给定一个长度为 nn 的整数数组 aa。

请选出一个最长子序列,使其值依次为

x,x+1,x+2,…,x+k−1,x,x+1,x+2,\ldots,x+k-1,

其中 xx 为某个整数,kk 为子序列长度。子序列通过删除任意若干元素得到,保留下标的相对顺序不能改变。

输入格式

第一行包含一个整数 nn。

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

输出格式

第一行输出最长长度 kk。

第二行输出 kk 个严格递增的原数组下标,表示任意一组最优子序列。

样例输入 1

7
3 3 4 7 5 6 8

样例输出 1

4
2 3 5 6

样例输入 2

6
1 3 5 2 4 6

样例输出 2

2
1 4

样例输入 3

4
10 9 8 7

样例输出 3

1
1

样例输入 4

9
6 7 8 3 4 5 9 10 11

样例输出 4

6
1 2 3 7 8 9

数据范围

1≤n≤2×1051\le n\le2\times10^5,1≤ai≤1091\le a_i\le10^9。

子任务编号 分值 特殊限制
1 30 n≤20n\le20
2 n≤2000n\le2000
3 40 无特殊限制