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

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

ЕКИПИРОВКА

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

요약
N명의 아이와 N벌의 유니폼이 있고, 각 아이 i는 [L_i, R_i] 구간의 유니폼을 받아들인다. 모든 아이에게 서로 다른 유니폼을 하나씩 배정하거나 불가능함을 판정하는 문제이다.
난이도

보통10점 중 6점

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

문제

Разхождайки се навън, Лазар и неговите приятели се впечатляват от един спортен магазин. На витрината са наредени футболни екипи. Те са в еднакъв размер, пасващ на всички деца и различни модели.

След като разпитва приятелите си, Лазар прави интересно наблюдение – на всяко дете допада интервал от последователни екипи. Всяко от тях иска да си купи по един от моделите и Лазар се заема със задачата да ги разпрадели така, че да зарадва приятелите си. Той знае, че вие сте добри в програмирането, затова ви моли да му помогнете, като напишете програма outfit, която според зададени интервали от екипи определя, дали съществува оптимално разпределение между децата или не.

입력

От първия ред на стандартния вход се въвежда NN − броя на децата (и на екипите). От следващите NN реда се въвеждат L_iL\_ii и R_iR\_i − границите на интервала за дете с номер ii.

출력

На първия ред на стандартния изход се извежда “YES“, ако съществува разпределение, отговарящо на изискванията на децата, и „NO“ в противен случай. Ако отговорът е „YES“, на следващия ред се извеждат NN числа a_1a\_1, a_2a\_2, …\dots, a_Na\_N – което означава, че приятел с номер ii ще получи екип с номер a_ia\_i. При наличие на повече от едно решение, изведете което и да е от тях.

제한

  • 1≤N≤1,000,0001 ≤ N ≤ 1\\, 000\\, 000
  • 1≤L_i≤R_i≤N1 ≤ L\_i ≤ R\_i ≤ N

예제2

  1. 예제 1

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

    입력
    3
    3 3
    1 3
    3 3
    
    예상 출력
    NO