CSPSMK04C. 彩虹子数组(subarray)

提交4 通过2
通过率50%
文件IO启用
输入文件subarray.in
输出文件subarray.out
时间限制1000ms
内存限制1024MiB
    ID: 14537 传统题 文件IO 输入文件:subarray.in 输出文件:subarray.out 1000ms 1024MiB 尝试: 4 已通过: 2 难度: 提高 上传者: 标签>C++CSP-S考前模拟

题目描述

题目描述

现有一个长度为 nn 的序列 a1,a2,...,ana_1,a_2,...,a_n,至多可以进行 kk 次操作,每次操作可以把某个位置的值加一或者减一。

称一个子数组 al,al+1,...,ara_l,a_{l+1},...,a_r 是彩虹子数组,当且仅当 ∀i∈(l,r],ai−ai−1=1\forall i\in(l,r],a_{i}-a_{i-1}=1。

求至多 kk 次操作后最长的彩虹子数组能有多长。

输入格式

本题有多组数据。第一行输入一个整数 TT 表示数据组数,对于每组数据:

第一行输入两个整数 n,kn,k。

第二行输入 nn 个整数 a1,a2,...,ana_1,a_2,...,a_n。

输出格式

每组数据输出一行一个整数,表示最长彩虹子数组的长度。

输入样例

5
7 5
7 2 5 5 4 11 7
6 0
100 3 4 5 99 100
5 6
1 1 1 1 1
5 50
100 200 300 400 500
1 100
3

输出样例

4
3
5
1
1

说明提示

输入样例 #2

1
1 653379975967592
785694603

输出样例 #2

1

输入样例 #3

1
2 403374980776372
664133554 241669679

输出样例 #3

2

数据范围

对于 30%30\% 的数据,∑n≤500\sum n\leq 500。

对于 60%60\% 的数据,∑n≤50000\sum n\leq 50000。

对于另外 10%10\% 的数据,k=0k=0。

对于 100%100\% 的数据,$1\leq n\leq 10^5,0\leq k\leq 10^{15},1\leq a_i\leq 10^9,\sum n\leq 5\times 10^5$。