305131: CF977F. Consecutive Subsequence
Memory Limit:256 MB
Time Limit:2 S
Judge Style:Text Compare
Creator:
Submit:10
Solved:0
Description
Consecutive Subsequence
题意翻译
[题目描述] 给定一个长度为n的整数数组。 你必须选择这个最大长度数组的某个子序列这样这个子序列就形成了一个递增的连续整数序列。换句话说,对于某个值x和长度k,所需的序列应该等于[x,x+1,..., x+k - 1]。 数组的子序列可以通过擦除数组中的一些(可能为零)元素来获得。你可以擦掉任何元素,不一定是连续的。其余元素保持它们的顺序。例如,对于数组[5,3,1,2,4],以下数组是子序列:[3],[5,3,1,2,4],[5,1,4],但是数组[1,3]不是。题目描述
You are given an integer array of length $ n $ . You have to choose some subsequence of this array of maximum length such that this subsequence forms a increasing sequence of consecutive integers. In other words the required sequence should be equal to $ [x, x + 1, \dots, x + k - 1] $ for some value $ x $ and length $ k $ . Subsequence of an array can be obtained by erasing some (possibly zero) elements from the array. You can erase any elements, not necessarily going successively. The remaining elements preserve their order. For example, for the array $ [5, 3, 1, 2, 4] $ the following arrays are subsequences: $ [3] $ , $ [5, 3, 1, 2, 4] $ , $ [5, 1, 4] $ , but the array $ [1, 3] $ is not.输入输出格式
输入格式
The first line of the input containing integer number $ n $ ( $ 1 \le n \le 2 \cdot 10^5 $ ) — the length of the array. The second line of the input containing $ n $ integer numbers $ a_1, a_2, \dots, a_n $ ( $ 1 \le a_i \le 10^9 $ ) — the array itself.
输出格式
On the first line print $ k $ — the maximum length of the subsequence of the given array that forms an increasing sequence of consecutive integers. On the second line print the sequence of the indices of the any maximum length subsequence of the given array that forms an increasing sequence of consecutive integers.
输入输出样例
输入样例 #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