Cyber Streamer

Time limit: 0.25s Memory limit: 64MB Input: cyberstreamer.in Output: cyberstreamer.out

Cerință

Este anul 2077, iar Ionuț s-a decis să devină streamer full-time. El a studiat orele la care se afișează reclamele și a constatat că în fiecare zi, în anumite intervale [s,f][s, f], apar spoturi publicitare. Fiecare reclamă îi aduce un profit în eurodolari dacă stream-ul său este activ pe întreaga durată a intervalului respectiv. Pentru a-și planifica programul, Ionuț are nevoie să știe exact care sunt perioadele de timp acoperite de reclame. Dacă mai multe intervale se suprapun sau sunt adiacente, ele trebuie comasate într-un singur interval mai mare.

Ajutați-l pe Ionuț să determine reuniunea tuturor intervalelor de timp în care rulează reclame.

Date de intrare

Fișierul de intrare cyberstreamer.in conține:

Pe prima linie, numărul natural NN, reprezentând numărul de reclame. Pe următoarele NN linii, câte două numere întregi ss și ff, reprezentând timpul de început și timpul de sfârșit al fiecărei reclame.

Date de ieșire

Fișierul de ieșire cyberstreamer.out va conține:

Pe linii separate, perechi de forma start sfârșit, reprezentând intervalele rezultate după reuniune, ordonate crescător după timpul de început.

Restricții și precizări

  • 1N100 0001 \le N \le 100 \ 000
  • 109sf109-10^9 \le s \le f \le 10^9
  • Două intervale precum [1,5][1, 5] și [5,10][5, 10] sunt considerate adiacente și se vor reuni în [1,10][1, 10].
# Punctaj Restricții
1 20 N50N \le 50 și 0sf5000 \le s \le f \le 500
2 20 N1 000N \le 1 \ 000 și 104sf104-10^4 \le s \le f \le 10^4
3 20 N100 000N \le 100 \ 000, iar intervalele sunt furnizate deja sortate crescător după ss
4 20 N100 000N \le 100 \ 000, iar toate intervalele din fișier sunt disjuncte
5 20 Fără restricții suplimentare

Exemplu

cyberstreamer.in

4
1 5
2 6
8 10
12 15

cyberstreamer.out

1 6
8 10
12 15

Explicație

Intervalele [1,5][1, 5] și [2,6][2, 6] se suprapun, rezultând [1,6][1, 6].
Intervalul [8,10][8, 10] nu se suprapune cu niciun alt interval.
Intervalul [12,15][12, 15] rămâne de sine stătător.

Log in or sign up to be able to send submissions!