Codeforces Round 641 (Div. 1) |
---|
Закончено |
У Слайма есть последовательность натуральных чисел $$$a_1, a_2, \ldots, a_n$$$.
За одну операцию Орак может выбрать произвольный отрезок $$$[l \ldots r]$$$ этой последовательности и заменить все числа $$$a_l, a_{l + 1}, \ldots, a_r$$$ на значение медианы $$$\{a_l, a_{l + 1}, \ldots, a_r\}$$$.
В этой задаче для мультимножества натуральных чисел $$$s$$$, медиана $$$s$$$ равна $$$\lfloor \frac{|s|+1}{2}\rfloor$$$-у числу в порядке возрастания в нем. Например, медиана $$$\{1,4,4,6,5\}$$$ равна $$$4$$$, а медиана $$$\{1,7,5,8\}$$$ равна $$$5$$$.
Слайм хочет, чтобы Орак добился $$$a_1 = a_2 = \ldots = a_n = k$$$ с помощью этих операций.
Орак думает, что это невозможно, и он не хочет тратить свое время, поэтому он решил спросить вас, можно ли исполнить желание Слайма, и он может задавать вам запросы такого вида несколько раз.
В первой строке записано одно целое число $$$t$$$: количество запросов.
В первой строке каждого запроса записано два целых числа $$$n\ (1\le n\le 100\,000)$$$ и $$$k\ (1\le k\le 10^9)$$$, во второй строке записаны $$$n$$$ натуральных чисел $$$a_1,a_2,\dots,a_n\ (1\le a_i\le 10^9)$$$
Сумма $$$n$$$ по всем запросам не превосходит $$$100\,000$$$.
Вы должны вывести $$$t$$$ строк. В $$$i$$$-й из них должно быть записано 'yes', если возможно превратить все числа в $$$k$$$ за какое-нибудь число операций или '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]$$$.
Название |
---|