0327. Реклама на заборе

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

Иван живет в небольшом симпатичном домике в деревне. Вдоль его участка расположен забор, который недавно был выкрашен в красный цвет. Но тут в деревню к Ивану пришла цивилизация в лице рекламного агента, расклеивающего всюду свои объявления. И его забор постигла та же участь.

Каждый день на его забор приклеивают новое объявление. Таким образом за последние n дней на забор наклеено уже n объявлений и Ивану кажется, что рекламой заклеен уже весь забор, состоящий из m досок. Доски пронумерованы вдоль забора от 1 до m.

Оказалось, что в каждый из n дней когда приходил рекламный агент и приклеивал объявление, сосед Ивана Петр записывал, какие доски оказывались заклеены этим объявлением. А именно, выяснилось что в i-й день очередное объявление было наклеено таким образом, что занимало доски с li-й по ri-ю включительно. При этом рекламный агент вполне мог заклеить новым объявлением полностью или частично свое же собственное объявление.

Для составления жалобы в администрацию деревни Ивану необходимо удостовериться, что рекламой заклеен весь забор. Помогите ему выяснить, так ли это.

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

В первой строке входного файла даны два натуральных числа m и n  – число досок в заборе и число дней, в течение которых вел свои наблюдения Петр (1 ≤ m ≤ 10,000, 1 ≤ n ≤ 1000). Далее, в n строках заданы целые числа li, ri (1 ≤ li ≤ ri ≤ m), i-я пара чисел описывает отрезок забора, который заклеивались объявлением в i-й день.

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

Выведите <<YES>>, если весь забор был заклеен объявлениями, и <<NO>> в противном случае.

Пример:

checkpaint.incheckpaint.out
3 3 1 1 2 3 3 3 YES


Источник: Командный чемпионат школьников Карелии по программированию, 4 ноября 2012

Обсудить       Отправить решение



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