CF2236D Brand New Tatar TV Show
题目描述
Dabir 和 Egor 对上次节目带来的名气还不够满意,于是他们决定再办一场电视秀:他们将在一个数组 $a$ 上玩他们最爱的游戏,并选用他们最喜欢的整数 $k$。
Dabir 先手。在第一步时,可以从数组中任意选择一个元素并将其移除。记上一步所选元素为 $x$。那么在当前步(除了第一步),玩家必须从数组中选择一个元素 $y$,满足 $0 \leq y - x \leq k$,并将其移除。无法进行操作的玩家判负。
但由于这不仅是游戏,而是一场真正的表演赛,Arseniy(人称 MAKAN)——鄂木斯克的头号明星再次被邀请担任嘉宾。作为嘉宾,Arseniy 获得了一个特权:允许他代替 Dabir 进行第一步选择,也就是说,他可以为 Dabir 执行首步。不过,Arseniy 实际上是 Egor 的粉丝,所以他希望自己的第一步操作可以让 Egor 无论如何都能获胜。
判断 Arseniy 是否能为 Dabir 选择第一个要移除的元素,使得之后无论 Dabir 怎么操作,Egor 都一定能赢。
输入格式
每组测试数据包含多组测试用例。第一行包含一个整数 $t$($1 \leq t \leq 10^4$)——表示测试用例的数量。
每组测试用例的第一行包含两个整数 $n$ 和 $k$($1 \leq n, k \leq 2 \times 10^5$)——数组的长度,以及 Dabir 和 Egor 最爱的整数。
第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \leq a_i \leq n$)。
保证所有测试用例中 $n$ 之和不超过 $2 \times 10^5$。
输出格式
对于每个测试用例,如果存在一种首步选取方式,使得在双方都采取最优策略的情况下 Egor 一定能赢,输出“YES”;否则输出“NO”。
你可以用任意大小写形式输出“YES”和“NO”(比如 “yES”, “yes”, “Yes” 等都可以被接受)。
说明/提示
在第一个样例中,唯一的选择是选整数 $3$。之后数组剩下 $\left[3, 3, 3, 3\right]$。然后 Egor 操作,再到 Dabir,如此往复。Dabir 会取走最后一个 $3$,因此 Arseniy 无法选择一个首步,使 Egor 获胜。
在第二个样例中,Arseniy 可以第一次选择整数 $1$。之后 Egor 选择 $2$,接下来 Dabir 无法再进行有效操作,因此 Egor 获胜。
由 ChatGPT 5 翻译