音频工程师正在分析一段数字录音,录音包含 n 个顺序的采样点,每个采样点有一个整数值音量 v1,v2,…,vn。对于一段连续的采样区间 [l,r],若对每个 i∈[l,r−1] 均满足 ∣vi+1−vi∣≤K,则称该区间为“平稳片段”。
请你求出给定的录音中最长平稳片段的长度(即采样点个数)。保证录音至少包含一个采样点。
约束:
第一行包含一个整数 T,表示测试数据组数。接下来有 T 组数据。每组数据由两行组成:第一行包含两个整数 n 和 K,分别表示采样点个数和允许的最大相邻音量差;第二行包含 n 个整数 v1,v2,…,vn,表示每个采样点的音量。
对于每组测试数据,输出一行一个整数,表示该录音中最长平稳片段的长度。
输入
1
5 2
1 3 5 7 9
输出
5
说明
仅有一组测试数据。采样点个数 n=5,允许的最大相邻音量差 K=2。 音量序列为 1,3,5,7,9,计算相邻差的绝对值: ∣3−1∣=2≤2, ∣5−3∣=2≤2, ∣7−5∣=2≤2, ∣9−7∣=2≤2。 所有相邻差均不超过 K,因此整个录音就是一个平稳片段,长度为 5。
输入
1
6 3
10 13 12 15 20 18
输出
4
说明
仅有一组测试数据。n=6,K=3,序列为 10,13,12,15,20,18。 从左到右检查相邻差: ∣13−10∣=3≤3,可以延伸; ∣12−13∣=1≤3,可以延伸; ∣15−12∣=3≤3,可以延伸; ∣20−15∣=5>3,不满足条件,当前片段中断,从 20 重新开始; ∣18−20∣=2≤3,可以延伸。 得到的平稳片段有:[10,13,12,15] 长度为 4,以及 [20,18] 长度为 2。最长长度为 4。
输入
3
1 5
42
4 0
7 7 8 7
4 0
5 5 5 5
输出
1
2
4
说明
共有三组测试数据。 第一组:n=1,K=5,序列为 42。单个采样点总是平稳片段,长度为 1。 第二组:n=4,K=0,序列为 7,7,8,7。相邻差:∣7−7∣=0≤0;∣8−7∣=1>0,中断;∣7−8∣=1>0,中断。最长平稳片段为开头的两个 7,长度为 2。 第三组:n=4,K=0,序列为 5,5,5,5。所有相邻差均为 0≤0,整个片段平稳,长度为 4。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册