CSES - Putka Open 2015 – finaali - Ravintola
  • Time limit: 1.00 s
  • Memory limit: 128 MB

Ravintolassa käy illan aikana n ryhmää. Tiedät, milloin kukin ryhmä tulee ravintolaan ja lähtee ravintolasta.

Jokainen ryhmä tarvitsee yhden pöydän ravintolasta, eikä samassa pöydässä voi istua samaan aikaan monta ryhmää. On kuitenkin sallittua, että samalla hetkellä yksi ryhmä lähtee pöydästä ja toinen ryhmä tulee samaan pöytään.

Tehtäväsi on selvittää, mikä on pienin määrä pöytiä, joka ravintolaan tarvitaan ryhmiä varten, ja miten ryhmät voi sijoittaa pöytiin.

Syöte

Syötteen ensimmäisellä rivillä on kokonaisluku n: ryhmien määrä.

Tämän jälkeen syötteessä on n riviä, joista jokainen kuvaa yhden ryhmän. Rivillä on kaksi kokonaislukua a ja b: milloin ryhmä tulee ravintolaan ja lähtee ravintolasta.

Tuloste

Ohjelmasi tulee tulostaa ensin yksi kokonaisluku m: pienin pöytien määrä. Pöydät on numeroitu kokonaisluvuin 1,2,\ldots,m.

Tämän jälkeen ohjelmasi tulee ilmoittaa jokaiselle ryhmälle, mihin pöytään ryhmä sijoitetaan. Mikä tahansa oikea ratkaisu kelpaa.

Esimerkki

Syöte:

3
4 8
2 5
5 9

Tuloste:

2
1
2
2

Osatehtävä 1 (15 pistettä)

  • 1 \le n \le 10
  • 1 \le a < b \le 100

Osatehtävä 2 (41 pistettä)

  • 1 \le n \le 1000
  • 1 \le a < b \le 10^9

Osatehtävä 3 (44 pistettä)

  • 1 \le n \le 10^5
  • 1 \le a < b \le 10^9