鬼鬼特别喜欢等差数列。她想找这样的序列:向这个序列中加上不多于 k 个数,使这个新的数列排序后可以得到一个公差为 d 的等差序列。鬼鬼给你了一个由 n 个整数组成的数列 a,你的任务是找到它的最长子串,使它是鬼鬼想找的序列。
1. 第一行输入三个整数 n、k、d(1 \leq n \leq 2e5,0 \leq k \leq 2e5,0 \leq d \leq 1e9)。
2. 第二行输入 n 个整数,表示数列 a(-1e9 \leq a[i] \leq 1e9)。
输出两个整数 L、R,描述这个最长子串的左/右边界。如果有多个最优答案,输出 L 值最小的。
6 1 2 4 3 2 8 6 2
3 5
- 对于 20% 的数据:1 \leq n \leq 10;
- 对于 40% 的数据:1 \leq n \leq 1000;
- 对于 100% 的数据:1 \leq n, k \leq 200000,0 \leq d \leq 1e9,-1e9 \leq a[i] \leq 1e9。
样例解释
第一个测试样例的答案为包括数字 2、8、6 的子串,在加入数字 4 并且排序之后,它变成了数列 2、4、6、8,是公差为 2 的等差数列。
Time Limit | 1 second |
Memory Limit | 256 MB |