RCC 2014 Warmup (Div. 2) |
---|
Закончено |
При проведении соревнований по программированию «Russian Code Cup», в проверяющей системе сохраняются все посланные решения для каждого участника. Известно, что многие участники используют в своих программах случайные числа и часто отправляют на проверку несколько решений с одинаковым исходным кодом.
В проверяющей системе каждый участник идентифицируется некоторым уникальным целым числом k, а каждое отправленное решение A характеризуется двумя целыми числами: x — числом различных решений, отправленных до первого решения, идентичного решению A, и k — идентификатором участника, который является автором решения. Логично, что все одинаковые решения имеют одинаковый x.
Известно, что данные в проверяющей системе хранятся в хронологическом порядке. То есть, если в проверяющей системе есть решение под номером x (x > 0) участника с номером k, то где-то раньше в проверяющей системе хранится решение с номером x - 1 того же участника.
Во время проведения соревнований, в проверяющей системе произошел сбой, после чего данные о подходах всех участников были восстановлены. Теперь жюри хотят проверить, что восстановленные данные идут в хронологическом порядке. Помогите жюри сделать это.
В первой строке дано целое число n (1 ≤ n ≤ 105) — количество записей. В n последующих строках содержится по два целых числа: x и k через пробел (0 ≤ x ≤ 105; 1 ≤ k ≤ 105) — количество предыдущих уникальных посылок и номер участника, автора этого решения.
Выведите «YES» (без кавычек), если данные идут в хронологическом порядке, и «NO» (без кавычек) в обратном случае.
2
0 1
1 1
YES
4
0 1
1 2
1 1
0 2
NO
4
0 1
1 1
0 1
0 2
YES
Название |
---|