Problem6021--Loongint的花篮

6021: Loongint的花篮

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

Loongint 要和 MM 结婚了。在两人的走进礼堂的红地毯两侧,需要摆一些装饰用的花篮,有一些不同高度的花篮,现在这些花篮被 Loongint 依照自己的美学观念编号为 $S_1,\ S_2,\ S_3,\ \dots,\ S_n$,两侧的花篮高度一样。可 Loongint 的 MM 对这些花篮的摆放方式有不同的看法,她觉得满足以下条件的花篮摆放才是最好的。
如果对于区间 $[S_i,\ S_j]\ (1 \leq i<j \leq n)$ 中任意的花篮都比 $S_i$ 高且比 $S_j$ 低,那么这个区间称为一个美学区间。对于所有的美学区间,其长度(定义为 $j-i$)都必须小于等于 $k$,如果有长度大于 $k$ 的美学区间,MM 就会不高兴,Loongint 就会有麻烦…

Input

第一行为 $m$。表示有 $m$ 组测试数据。
对于每一组:
第一行 $n,\ k$,分别表示花篮的数量和美学区间的最大长度。
第二行为 $n$ 个数,分别表示 $S_1,\ S_2,\ S_3,\ …,\ S_n$ 的值。

Output

如果根本不存在美学区间,输出 $-1$。
如果存在美学区间,那么如果任意区间的长度都小于等于 $k$,那么输出最大的长度,否则输出最大长度比 $k$ 大多少(MaxLength-k)。

Constraints

对于 $30\%$ 的测试数据,$1 \leq n \leq 100$。
对于 $60\%$ 的测试数据,$1 \leq n \leq 5,555$。
对于 $100\%$ 的测试数据,$1 \leq n \leq 100,000,\ 0<S_i \leq 100,000,\ 1 \leq m \leq 3$。

Sample 1 Input

3
4 2
5 4 3 6
4 1
6 5 4 3
4 2
1 2 3 4

Sample 1 Output

1
-1
1

EDITORIAL

Source/Category

数据结构 2.3.单调栈