printРабочее место участника

printЗадачи

1329. Заяц и дерево

Ограничения: время – 100ms/500ms, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

После строительства на выбранной поляне частокола для обороны от хищников Заяц обнаружил, что внутри ограды оказалось огромное засохшее дерево, которое может помешать строительству домика. Зайцу хочется спилить это дерево "под самый корешок" таким образом, чтобы дерево при падении не повредило ограду.
Заяц обрубил все ветки, и от дерева остался цилиндр высотой `h` и радиусом `r`. Ограда имеет форму окружности с радиусом `R` и по высоте больше диаметра дерева. Центр дерева находится на расстоянии `b` от центра ограды. Заяц может повалить дерево в любую нужную ему сторону. После падения нижний край поваленного дерева касается (как касательная) окружности основания дерева, как показано на рисунке. Требуется определить, сможет ли Заяц повалить спиленное дерево, не повредив ограду.
Во входном файле в первой строке четыре целых числа через один пробел: `R`, `r`, `h` и `b` (`1\ ≤\ r\ ≤\ r+b\ <\ R\ ≤\ 100`, `1\ ≤\ h\ ≤\ 1000`).
В выходной файл вывести слово YES, если существует направление падения дерева, при котором ограда останется неповрежденной, и NO в противном случае.

Пример ввода

90 3 50 10

Пример вывода

YES
loading