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

Задача . F. Тортики для клонов


Задача

Темы: дп *2900

Вы живете на числовой прямой и изначально (в момент времени \(t = 0\)) находитесь в точке \(x = 0\). На прямой происходит \(n\) событий следующего вида: в момент времени \(t_i\) в координате \(x_i\) появляется небольшой тортик. Чтобы получить этот тортик, нужно в этот момент времени находиться в этой координате, иначе тортик сразу портится. Никакие два тортика не появляются в одной и той же точке.

Вы можете перемещаться на \(1\) единицу длины за единицу времени. Также вы обладаете возможностью мгновенно создавать своего клона в той же позиции, в которой вы сейчас находитесь. Клон не может двигаться, но он будет за вас собирать все тортики, появляющиеся в этой позиции. Клон исчезнет, когда вы создадите нового клона. Если новый клон создается в момент времени \(t\), то старый клон может собирать тортики до момента \(t\) включительно, а новый — начиная с момента времени \(t\) включительно.

Можете ли вы собрать все тортики (сами или с помощью клонов)?

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

Первая строка содержит одно целое число \(n\) (\(1 \le n \le 5000\)) — количество тортиков.

Следующие \(n\) строк содержат по два целых числа \(t_i\) и \(x_i\) (\(1 \le t_i \le 10^9\), \(-10^9 \le x_i \le 10^9\)) — время и координату появления очередного тортика.

Все времена появления тортиков различны и даны в порядке возрастания, а все координаты появления тортиков различны.

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

Выведите «YES», если можно собрать все тортики, и «NO» иначе.

Примечание

В первом примере нужно с самого начала двигаться в сторону координаты \(5\), оставив клона в позиции \(1\) в момент времени \(1\), и собрав тортик в позиции \(2\) в момент времени \(2\). В момент времени \(5\) вы окажетесь в позиции \(5\) и соберете там тортик, а клон соберет последний тортик в момент времени \(6\).

Во втором примере нужно оставить клона в позиции \(0\) и начать двигаться в сторону координаты \(5\). В момент времени \(1\) клон соберет тортик. В момент времени \(2\) нужно создать нового клона в текущей позиции \(2\), в будущем он соберет последний тортик. Вы сами же как раз успеете собрать второй тортик в позиции \(5\).

В третьем примере никак не получается успеть собрать все тортики.


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

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

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