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

Задача . C. Печенье для тебя


Анна очень смелая девочка, ее любят все в городе. Также все горожане обожают ее печенье. Она планирует провести вечеринку с печеньем. Сейчас у нее есть \(a\) единиц ванильного печенья и \(b\) единиц шоколадного печенья для вечеринки.

Она пригласит \(n\) гостей первого типа и \(m\) гостей второго типа на вечеринку. Они придут на вечеринку в некотором порядке. После того, как они придут на вечеринку, каждый гость выберет один из двух типов печенья (ванильное или шоколадное), чтобы съесть. Есть различие в том, как гости выбирают тип печенья:

Если всего \(v\) единиц ванильного печенья и \(c\) единиц шоколадного печенья в момент, когда гость приходит, тогда

  • если гость первого типа: если \(v>c\) гость выбирает ванильное печенье. Иначе, гость выбирает шоколадное печенье.
  • если гость второго типа: если \(v>c\) гость выбирает шоколадное печенье. Иначе, гость выбирает ванильное печенье.

После этого:

  • Если есть хотя бы одна единица выбранного типа печенья, гость съедает одну.
  • Иначе (если не осталось печенья выбранного типа), гость остается голодным и уходит домой.

Анна хочет узнать, существует ли какой-то порядок гостей, такой что ни один гость не останется голодным. Ваша задача состоит в том, чтобы ответить на ее вопрос.

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

Каждый тест состоит из нескольких наборов входных данных. В первой строке находится единственное целое число \(t\) (\(1 \le t \le 1000\)) — количество наборов входных данных. Следующие \(t\) строк содержат описания набов входных данных.

Для каждого набора входных данных в единственной строке находится четыре целых числа \(a\), \(b\), \(n\), \(m\) (\(0 \le a,b,n,m \le 10^{18}, n+m \neq 0\)).

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

Для каждого набора входных данных, выведите ответ в одной строке. Если есть хотя бы один подходящий порядок гостей, выведите «Yes». Иначе, выведите «No».

Вы можете выводить каждый символ в любом регистре (верхнем или нижнем).

Примечание

В первом наборе входных данных рассмотрим порядок \(\{1, 2, 2\}\) типов гостей. Тогда:

  • Первый гость съедает шоколадное печенье. После этого остается \(2\) единицы ванильного печенья и \(1\) единица шоколадного печенья.
  • Второй гость съедает шоколадное печенье. После этого остается \(2\) единицы ванильного печенья и \(0\) единиц шоколадного печенья.
  • Последний гость выбирает шоколадное печенье, чтобы съесть, но больше не осталось шоколадного печенья. Поэтому гость остается голодным.

Поэтому такой порядок гостей Анна выбрать не может.

Рассмотрим порядок \(\{2, 2, 1\}\) типов гостей. Тогда:

  • Первый гость съедает ванильное печенье. После этого остается \(1\) единица ванильного печенья и \(2\) единицы шоколадного печенья.
  • Второй гость съедает ванильное печенье. После этого остается \(0\) единиц ванильного печенья и \(2\) единицы шоколадного печенья.
  • Последний гость съедает шоколадное печенье. После этого остается \(0\) единиц ванильного печенья и \(1\) единица шоколадного печенья.

Поэтому ответ для этого набора входных данных «Yes».

В пятом наборе входных данных можно увидеть, что количество единиц печенья (\(a + b\)) может быть равно нулю, но количество гостей (\(n + m\)) никогда не равно нулю.

В шестом наборе входных данных будьте осторожны с переполнением \(32\)-битного целочисленного типа.


Примеры
Входные данныеВыходные данные
1 6
2 2 1 2
0 100 0 1
12 13 25 1
27 83 14 25
0 0 1 0
1000000000000000000 1000000000000000000 1000000000000000000 1000000000000000000
Yes
No
No
Yes
No
Yes

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

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