0347. Разрез торта

Имя входного файла: cut.in
Имя выходного файла: cut.out
Ограничение по времени: 2 s
Ограничение по памяти: 256 megabytes

У Александра сегодня гости – он отмечает день рождения. Естественно не обошлось без песен, плясок и торта. Все шло просто прекрасно и казалось, что ничто не предвещало проблем, но Нежданчик всегда появляется внезапно. Нежданчик – это друг Александра. Он большой пессимист, и всё время говорит Александру, что у него ничего не получится. Вот и сегодня он заявил, что торт не получится разделить на всех гостей так, чтобы никто не был обижен.

Теперь у Александра возникла задача: проверить, действительно ли торта не хватит. Присмотревшись к торту, он заметил, что длина у торта бесконечна, а вот ширина оставляет желать лучшего, поэтому стоит резать торт параллельными прямыми, вдоль длины торта (Александр в себе более чем уверен, поэтому считает, что он сможет разрезать торт). Но поскольку он не очень аккуратен, то его разрезы имеют ширину T.

Более формально: торт представляет из себя полосу ширины L, разрезы представляют из себя полосы ширины T. Пообщавшись с гостями, Александр получил много хороших впечатлений, а еще он узнал, что i--й гость желает отведать полоску торта шириной не менее ai. Помогите Александру определить, хватит ли торта, что бы каждому гостю выдать полоску той ширины, которую он желает?

Формат входного файла

В первой строке содержатся три целых числа 1 ≤ N ≤ 105 – количество гостей, 1 ≤ L ≤ 109 – ширина торта и 1 ≤ T ≤ 109 – ширина разреза. Во второй строке содержится N чисел 1 ≤ ai ≤ 109 – ширина куска, которую хочет i--й гость.

Формат выходного файла

Выведите "YES" (без кавычек), если разрезать торт по указаным правилам возможно и "NO" иначе.

Пример:

cut.incut.out
2 6 2 1 2 YES
2 3 2 1 2 NO



Отправить решение



Версия для печати