F. 高塔数组
每个测试的时间限制:6 秒
每个测试的内存限制:1024 MB
一个长度为 m 的数组 b=[b1,b2,…,bm] 被称为 p-高塔数组,如果存在一个下标 i(1≤i≤m),使得对于所有下标 j(1≤j≤m),以下条件成立:
bj≥p−∣i−j∣
给定一个长度为 n 的数组 a=[a1,a2,…,an],你可以从中删除最多 k 个元素。
请确定最大的 p,使得剩下的数组可以成为 p-高塔数组。
输入格式
每个测试包含多个测试用例。
第一行包含测试用例的数量 t(1≤t≤104)。
每个测试用例的描述如下:
- 第一行包含两个整数 n 和 k(0≤k<n≤2⋅105)。
- 第二行包含 n 个整数 a1,a2,…,an(1≤ai≤109)。
保证所有测试用例的 n 之和不超过 2⋅105。
输出格式
对于每个测试用例,输出一个整数 —— 使得剩余数组可以成为 p-高塔数组的最大 p。
示例
输入
6
5 0
2 1 4 5 2
5 3
2 1 4 5 2
6 1
1 2 3 4 5 1
11 6
6 3 8 5 8 3 2 1 2 7 1
14 3
3 2 3 5 5 2 6 7 4 8 10 1 8 9
2 0
1 1
输出
3
5
5
7
9
1
说明
-
在第一个测试用例中,不能删除任何元素。原数组 [2,1,4,5,2] 在 p=3 时是 p-高塔数组,选择 i=4:
a1=2≥p−∣i−1∣=3−3=0
a2=1≥3−2=1
a3=4≥3−1=2
a4=5≥3−0=3
a5=2≥3−1=2
-
在第二个测试用例中,可以删除第 1、2、5 个元素,得到数组 [4,5]。选择 i=2,该数组是 p=5 的高塔数组。