cats 正在上物理实验课。在这节实验课上,cats 对同一个实验内容做了 $n$ 次实验,并得到了一个包含 $n$ 个实验数据的序列 $a_1,a_2,\cdots a_n$。遗憾的是,由于一些未知原因,cats 得到的这 $n$ 个数据并不一定完全相同,这让 cats 非常失落。
定义这 $n$ 个数据序列的失衡值为这 $n$ 个数据中每对相邻数据差的绝对值之和,即 $\sum_{i=1}^{n-1} |a_i-a_{i+1}|$。当 $n \leq 1$ 时,定义实验数据序列的失衡值为 $0$。当数据序列的失衡值超过 $k$ 时,实验课老师就会因为 cats 做实验不认真而给 cats 记零分。
为避免被记零分,cats 会执行以下操作至多一次:选择一个区间 $[l,r]$ $(1\leq l \leq r \leq n)$,将区间 $[l,r]$ 内的数据全部移除。并将区间左右两侧的数据(如果存在)沿着中间切开的位置拼接在一起,得到一个新的序列。注意在操作中序列的长度 $n$ 会减少 $r-l+1$。
经过零次或一次操作后,cats 希望得到的实验数据序列的失衡值不超过 $k$。同时,为避免引起实验课老师的怀疑,cats 希望得到的序列长度 $n$ 尽可能更大。你能帮 cats 算算最终序列长度可能的最大值吗?
第一行为一个整数 $T\ (1\le T\le 10^4)$ ,表示测试点的总数。
对于每个测试点:
第一行为两个整数 $n,k\ (2 \leq n \leq 2 \times 10^5,1\leq k \leq 2 \times 10^{14})$,表示 cats 初始得到的实验数据序列的长度和允许的失衡值上限。
第二行为 $n$ 个整数 $a_1,a_2,\cdots a_n\ (1 \leq a_i \leq 10^9)$,表示 cats 初始得到的实验数据序列。
保证所有测试点的 $n$ 之和不超过 $2\times 10^5$ 。
对于每组测试点,输出一个整数,表示 cats 最终的实验数据序列长度可能的最大值。
5 3 1 1 4 2 4 8 1 4 2 3 6 2 3 3 3 3 6 6 7 4000000000 1 1000000000 1 1000000000 1 1000000000 1 8 1 3 1 4 1 5 9 2 6
\n · \n · · \n · \n · · · \n · \n · · · · · \n · \n · · · · · · \n · \n · · · · · · · \n
2 4 4 6 1
\n \n \n \n \n
在第一组测试点中,可以选择移除区间 $[2,2]$。得到的序列为 $(1,2)$,失衡值为 $1$。
在第二组测试点中,可以选择不进行任何操作。得到的序列为 $(1,4,2,3)$,失衡值为 $6$。
在第三组测试点中,可以选择移除区间 $[5,6]$。得到的序列为 $(3,3,3,3)$,失衡值为 $0$。
在第四组测试点中,可以选择移除区间 $[4,4]$。得到的序列为 $(1,1000000000,1,1,1000000000,1)$,失衡值为 $3999999996$。
在第五组测试点中,可以选择移除区间 $[1,7]$。得到的序列为 $(6)$,失衡值为 $0$。
可以证明不存在使最终的实验数据序列长度更大的操作方案。