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

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

TVORNICA

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

요약
N개의 기계 위에서 K개의 구간 작업을 분당 기계 하나씩만 쓰도록 배치해 전체 완료 시간을 최소화하고 각 작업의 시작 분을 출력합니다.
난이도

보통10점 중 6점

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

문제

U tvornici čokolade nalazi se N različitih strojeva koji su poredani u liniju i označeni brojevima 1 do N. Kako bi se proizvela čokolada treba obaviti K različitih poslova (npr. oblikovanje, pakiranje..).

Strojevi su raspoređeni tako da svaki posao obavlja nekoliko uzastopnih strojeva, preciznije, posao i obavljaju svi strojevi s oznakama između Ai te Bi (uključivo). Svaki stroj u jednom trenutku može obavljati samo jedan posao. Obavljanje jednog posla traje točno 1 minutu.

Vlasnici tvornice su primijetili da je moguće neke poslove obavljati istovremeno, ukoliko ti poslovi ne zahtijevaju da neki stroj obavlja dva posla istovremeno.

Odredite koliko najmanje vremena treba strojevima da obave sve poslove i za svaki posao ispišite minutu u kojoj treba započeti taj posao.

입력

U prvom retku nalaze se prirodni brojevi N i K (1 ≤ N ≤ 100 000, 1 ≤ K ≤ 100 000) iz teksta zadatka.

Slijedi K redaka, u i-tom retku nalaze se prirodni brojevi Ai, Bi (Ai ≤ Bi) koji označavaju da posao i zahtjeva strojeve Ai, Ai + 1, …, Bi.

출력

U prvi redak izlaza ispišite najmanji broj minuta koji treba strojevima da obave sve poslove. Nakon toga ispišite K redaka. U i-tom od tih K redaka ispišite minutu u kojoj treba započeti s i-tim poslom. Ako je moguće na više načina rasporediti početke poslove, tada ispišite bilo koji mogući raspored tih početaka.

힌트

Pojašnjenje prvog test podatka:

U prvoj minuti obavljamo posao 1 za koji nam trebaju strojevi {1, 2} te posao 2 za koji nam trebaju strojevi {3, 4}.

U drugoj minuti obavljamo posao 2 za koji nam trebaju strojevi {2, 3}.

Pojašnjenje drugog test podatka:

Uočite da je postoji i rješenje oblika 2 1 0. Priznaju se oba moguća ispisa.

Pojašnjenje trećeg test podatka:

U prvoj minuti obavljamo posao 1 za koji nam trebaju strojevi {1, 2, 3} te posao 4 za koji nam trebaju strojevi {4, 5}. U drugoj minuti obavljamo posao 2 za koji nam trebaju strojevi {2, 3, 4}. U trećoj minuti obavljamo posao 3 za koji nam trebaju strojevi {3, 4, 5}.

예제3

  1. 예제 1

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

    입력
    3 2
    1 2
    2 3
    
    예상 출력
    2
    0
    1
    
  3. 예제 3

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