아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Акромантулы

면접 대비

시간 제한1초메모리 제한1024 MB

요약
각 거미의 나이와 낳을 수 있는 새끼 수의 상한이 주어질 때, 어미가 자식보다 항상 나이가 많고 상한을 넘지 않도록 첫 거미를 제외한 모든 거미에게 어미를 배정한다.
난이도

보통10점 중 6점

유형
그리디, 정렬, 트리, 구현
정답자
아직 제출이 없습니다

문제

Акромантул (Acromantula) --- это огромный восьмиглазый паук, который умеет говорить. Акромантул --- хищник и предпочитает крупную добычу. Он плетёт свою паутину в форме купола на поверхности земли. Женская особь крупнее, чем мужская, и может откладывать до сотни яиц за один раз. Яйца акромантула белые и мягкие, размером с надувной детский мяч. Детёныши вылупляются через 6-8 недель. Яйца акромантула помещены Отделом по контролю волшебных существ в Класс А: <<Товары не подлежащие продаже>>. Это означает, что за импорт яиц акромантула или торговлю ими полагается суровое наказание.

-- <<Фантастические звери и места их обитания>>

Магический зоолог Ньют Саламандер изучает колонию акромантулов. Сейчас его интересует их размножение. Он уже знает, что самки акромантулов откладывают яйца, из которых вылупляются детёныши. Ньют хочет опубликовать родословную этой колонии в журнале о волшебных существах: для каждого паука он хочет выяснить, кто является его матерью. Конечно, ему хотелось бы ещё узнать отцов, но процессы оплодотворения у акромантулов на данный момент плохо изучены, поскольку все, кто пытался проследить за этим процессом, были немедленно съедены; поэтому ничего об отцовстве в этой колонии не известно.

Ему известно, что вся колония началась с одной самки, а все остальные особи являются её потомками, и с самого начала никто не покидал колонию и не умирал. Про каждого из пауков Ньют знает возраст. Разумеется, возраст детёныша всегда строго меньше возраста матери. Кроме того, Ньют внимательно изучил каждую особь и оценил, какое наибольшее количество яиц она могла отложить.

Помогите зоологу построить такую родословную, чтобы она не противоречила известной ему информации:

  • Возраст детёныша меньше возраста матери.
  • Про каждого акромантула известно наибольшее возможное количество детёнышей.

입력

В первой строке входного файла задано одно целое число nn --- количество акромантулов в колонии (1≤n≤2⋅1051 \le n \le 2 \cdot 10^5).

В следующих nn строках задано по два числа: a_ia\_i и c_ic\_i, которые означают, что возраст ii-й особи равен a_ia\_i, и у неё может быть не более c_ic\_i детёнышей (1≤a_i≤1091 \leq a\_i \leq 10^9, 0≤c_i≤n−10 \leq c\_i \leq n-1).

출력

Если родословной построить невозможно, выведите <<NO>> (без кавычек).

В противном случае выведите в первой строке <<YES>> (без кавычек), а во второй --- nn чисел: ii-е из них равно номеру матери ii-го паука, или 00, если это первая особь в колонии. Особи нумеруются с единицы в том порядке, в котором они заданы во входном файле.

Если существует несколько возможных ответов, выведите любой из них.

예제2

  1. 예제 1

    입력
    5
    5 4
    4 1
    1 0
    2 0
    3 0
    
    예상 출력
    YES
    0 1 2 1 1
    
  2. 예제 2

    입력
    3
    2 1
    2 0
    5 1
    
    예상 출력
    NO