开始: 2023-09-30 00:00:00

0930复赛周赛002

结束: 2023-10-21 00:00:00
当前  2025-01-24 19:34:44  类型: IOI  状态: 已经结束 

P3. 进击的序列
描述

**水王**有一个正整数序列a_1,a_2,…,a_n

**冷藏柜**可以在一个操作中选择该序列的任意子段 [l…r] ,并将 a_l,a_{l+1},…,a_r 的所有值替换为 \{a_l,a_{l+1},…,a_r\} 的中位数。

在这个问题中,对于多重整数集 s ,  s 的中位数的值等于第 \lfloor \dfrac{ |s|+1}{2} \rfloor 小的数。其中|s|表示集合s 里的数字数量,\lfloor {x }\rfloor表示对x向下取整。

例如, \{1,4,4,6,5\} 的中位数是 4 ,而 \{1,7,5,8\} 的中位数是 5

**水王**希望**冷藏柜**通过这些操作使 a_1=a_2=…=a_n=k

**冷藏柜**认为这是不可能的,他不想~~做人~~浪费时间,所以他决定问你是否可以满足**水王**的要求,他可能会问你多次这些问题。


输入

第一行一个整数 t 表示询问的数量。

对于每个询问,第一行包含两个整数 n(1\leq n\leq 100\ 000)k(1≤k≤10^9) ,第二行包含 n 个正整数 a_1,a_2,…,a_n(1≤a_i≤10^9)

n 的总和最多是 100\ 000


输出

输出应该包含 t 行。对于第 i 组数据如果可能使所有整数在某些操作后为 k ,第 i 行应该输出 ”yes“,否则输出 ”no

样例

输入

5
5 3
1 5 2 6 1
1 6
6
3 2
1 2 3
4 3
3 1 2 3
10 3
1 2 3 4 5 6 7 8 9 10

输出

no
yes
yes
no
yes
提示

样例解释


在第一个查询中,**冷藏柜**不能将所有元素转换为 3

在第二个查询中, a_1=6 已经得到满足。

在第三个查询中,**冷藏柜**可以选择完整的数组并将所有元素转换为 2

在第四个查询中,**冷藏柜**不能将所有元素转换为 3

在第五个查询中,**冷藏柜**可以先选择 [1,6] ,再选择 [2,10]


数据规模


|   数据点编号    |   t=    |    n<=     | k,a[i]<= |

| :-------------: | :-----: | :--------: | :------: |

|    1,2,3,4    |  2   |    10    |  10   |

|    5,6,7,8    | 10   |    20    |  20   |

| 9,10,11,12   | 20   |    20    |  20   |

| 13,14,15,16 | 50   |  6250   | 10^9 |

17,18,19    | 100 | 100000 | 10^9 |

|      20       | 10   | 100000 | 10^9 |


提交

题目参数
时间限制 2 秒
内存限制 256 MB
提交