#CF2126C. 我一定会成功的

我一定会成功的

每次测试的时间限制:11
每次测试的内存限制:256256 兆字节

题目描述

nn 座塔,编号从 11nn。塔 ii 的高度为 hih_i
在时刻 00,你在编号为 kk 的塔上,当前的水位为 11

每秒水位上升 11 单位。在任何时刻,如果水位严格大于你所在塔的高度,你就会淹死。

你有一种神奇的能力:在时刻 xx,你可以开始从塔 ii 传送到塔 jj,传送需要 hihj|h_i - h_j| 秒。
也就是说,直到时刻 x+hihjx + |h_i - h_j|,你都在塔 ii 上,然后在时刻 x+hihjx + |h_i - h_j| 你到达塔 jj
你可以在刚到达塔 jj 的时刻立即开始下一次传送。

例如,若 n=k=4n = k = 4h=[4,4,4,2]h = [4,4,4,2],如果你在时刻 00 从塔 44 开始传送到塔 11,移动过程如下:

(图中显示从塔 44 到塔 11 的传送,注意水位变化)

注意,如果塔 11 的高度是 55,你就无法立即传送到它,因为在时刻 22 你会被水淹没。

你的目标是在水淹没你之前,到达 任意一个具有最大高度的塔

判断是否可能。

输入格式

每个测试包含多个测试用例。第一行一个整数 tt1t1041 \le t \le 10^4)——测试用例数。
每个测试用例第一行包含两个整数 nnkk1kn1051 \le k \le n \le 10^5)——塔的数量和初始所在塔的编号。
第二行包含 nn 个整数 h1,h2,,hnh_1, h_2, \dots, h_n1hi1091 \le h_i \le 10^9)——塔的高度。
保证所有测试用例的 nn 之和不超过 10510^5

输出格式

对于每个测试用例,输出一行:"YES"(如果能在水淹没前到达某个最大高度的塔),否则输出 "NO"
字母大小写任意。

5
5 3
3 2 1 4 5
3 1
1 3 4
4 4
4 4 4 2
6 2
2 3 6 9 1 2
4 2
1 2 5 6
YES
NO
YES
YES
NO

数据规模与约定

第一个测试用例中,唯一可能的路径是:321453 \to 2 \to 1 \to 4 \to 5
第二个测试用例中,无论顺序如何,都无法到达最高的塔。
第三个测试用例中,可能的路径之一是:414 \to 1