Олимпиадный тренинг

Задача . A. Замена элементов


У вас есть массив \(a_1, a_2, \dots, a_n\). Все \(a_i\) являются целыми положительными числами.

За один шаг вы можете выбрать три различных индекса \(i\), \(j\) и \(k\) (\(i \neq j\); \(i \neq k\); \(j \neq k\)) и присвоить \(a_i\) сумму \(a_j\) и \(a_k\), т. е. сделать \(a_i = a_j + a_k\).

Можете ли вы сделать все \(a_i\) меньше или равными \(d\), используя вышеописанную операцию произвольное количество раз (возможно, ноль)?

Входные данные

Первая строка содержит одно целое число \(t\) (\(1 \le t \le 2000\)) — количество наборов входных данных.

Первая строка каждого набора содержит два целых числа \(n\) и \(d\) (\(3 \le n \le 100\); \(1 \le d \le 100\)) — длину массива \(a\) и значение \(d\).

Вторая строка содержит \(n\) целых чисел \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 100\)) — массив \(a\).

Выходные данные

Для каждого набора входных выведите YES, если можно сделать все элементы \(a_i\) меньше или равными \(d\), используя описанную выше операцию, или NO в противном случае.

Вы можете вывести каждую букву в любом регистре (например, YES, Yes, yes, yEs будут распознаны как положительный ответ).

Примечание

В первом примере можно доказать, что мы не можем сделать все \(a_i \le 3\).

Во втором примере все \(a_i\) уже меньше или равны \(d = 4\).

В третьем примере мы можем, например, выбрать \(i = 5\), \(j = 1\), \(k = 2\) и сделать \(a_5 = a_1 + a_2 = 2 + 1 = 3\). Массив \(a\) станет \([2, 1, 5, 3, 3]\).

После этого мы можем сделать \(a_3 = a_5 + a_2 = 3 + 1 = 4\). Массив станет \([2, 1, 4, 3, 3]\) и все элементы меньше или равны \(d = 4\).


Примеры
Входные данныеВыходные данные
1 3
5 3
2 3 2 5 4
3 4
2 4 4
5 4
2 1 5 3 6
NO
YES
YES

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя