Fişierul intrare/ieşire:carpetbomber.in, carpetbomber.outSursăAlgoritmiada 2009, Runda Finala
AutorBogdan-Cristian TataroiuAdăugată debogdan2412Bogdan-Cristian Tataroiu bogdan2412
Timp execuţie pe test0.15 secLimită de memorie20480 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Carpet Bomber

Ato Marm şi-a adus aminte de vremurile în care juca C&C Generals. Carpet Bombing a fost o tehnică utilizată de către generalii chinezi în războiul împotriva GLA. O salvă de bombe era eliberată de către o aeronavă puternică, de obicei un B-52 asupra unei zone alese de general, producând pagube semnificative. Bombardierele mentineau o traiectorie liniara si de aceea erau foarte eficiente la oprirea transporturilor ce mergeau pe sosele.

Generalul chinez Tsing Shi Tao are ordine sa bombardeze intreaga suprafata a unei autostrazi liniare. Aceasta autostrada este impartita in 1 000 000 de intervale de lungime 1 numerotate de la 1 la 1 000 000. Generalul are la dispozitie N aeronave, fiecare dintre ele avand explozibil de tipul Ti si un interval continuu din autostrada [Li, Ri] pe care aceasta il bombardeaza in cazul in care este folosita. El are de asemenea ordine sa foloseasca aeronave cu maxim 2 tipuri diferite de explozibil. Se cere aflarea numarului minim de aeronave necesare bombardarii intregii autostrazi, in cazul in care acest lucru este posibil. In cazul in care nu se poate bombarda intreaga autostrada, afisati -1.

Date de intrare

Fişierul de intrare carpetbomber.in contine pe prima linie numarul N de bombe. Fiecare dintre urmatoarele N linii va contine cate 3 numere naturale repezentand, respectiv, tipul bombei Ti, capatul stanga Li al intervalului afectat de bomba i si capatul dreapta Ri al intervalului afectat de bomba i.

Date de ieşire

În fişierul de ieşire carpetbomber.out prima linie va contine numarul minim de aeronave necesare bombardarii, respectand in acelasi timp restrictia mentionata sau -1 daca acoperirea intregii autostrazi nu este posibila.

Restricţii

  • 1 ≤ N ≤ 8 191
  • 1 ≤ Ti ≤ 1 023
  • 1 ≤ Li ≤ Ri ≤ 1 000 000

Exemplu

carpetbomber.incarpetbomber.out
5
1 1 250000
2 250001 500000
1 750001 1000000
3 500001 1000000
2 500001 750000
4

Explicaţie

Se vor folosi bombele cu numerele de ordine 1, 2, 3 si 5.
Daca am putea folosi bombe cu mai mult de 2 tipuri de explozibil am folosi bombele cu numerele de ordine 1, 2 si 4 pentru a bombarda intreaga autostrada.

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?

remote content