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

Задача . B. Домашнее задание


Заданы четыре целых числа \(a\), \(b\), \(c\) и \(m\).

Проверьте, существует ли строка, в которой:

  • \(a\) букв 'A';
  • \(b\) букв 'B';
  • \(c\) букв 'C';
  • нет других букв;
  • ровно \(m\) пар одинаковых соседних букв (ровно \(m\) таких позиций \(i\), что \(i\)-я буква совпадает с \((i+1)\)-й).
Входные данные

В первой строке записано одно целое число \(t\) (\(1 \le t \le 10^4\)) — количество наборов входных данных.

В каждой из следующих \(t\) строк записано описание набора входных данных — четыре целых числа \(a\), \(b\), \(c\) и \(m\) (\(1 \le a, b, c \le 10^8\); \(0 \le m \le 10^8\)).

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

На каждый набор входных данных выведите «YES», если существует строка, которая удовлетворяет всем требованиям. Выведите «NO», если таких строк нет.

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

Примечание

В первом наборе входных данных строки «ABCAB» или «BCABA» удовлетворяют требованиям. Существуют и другие подходящие строки.

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

В третьем наборе входных данных строка «CABBCC» удовлетворяет требованиям. Существуют и другие подходящие строки.


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

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

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