Fişierul intrare/ieşire: | acoperire.in, acoperire.out | Sursă | ad-hoc |
Autor | Din Folclor | Adăugată de | |
Timp execuţie pe test | 0.1 sec | Limită de memorie | 16384 kbytes |
Scorul tău | N/A | Dificultate |
Vezi solutiile trimise | Statistici
Acoperire
Avem la dispozitie un interval inchis [A,B] si o multime de alte N intervale inchise [Ai,Bi], 1 ≤ i ≤ N. Scrieti un program care calculeaza si afiseaza numarul minim de intervale inchise din multimea data cu proprietatea ca prin reuniunea acestora se obtine un interval care include pe [A,B].
Date de intrare
Fişierul de intrare acoperire.in contine pe prima linie intervalul care va trebui sa fie inclus in reuniune. Pe urmatoarea linie avem numarul N, reprezentand numarul de intervale date, iar pe urmatoarele N linii avem intervalele de forma [Ai,Bi]. Daca prin reuniunea tuturor intervalelor nu putem obtine un interval care sa includa intervalul [A,B], se va afisa -1.
Date de ieşire
În fişierul de ieşire acoperire.out vom avea numarul minim de intervale ce trebuie alese pentru a satisface cerinta.
Restricţii
- 1 ≤ N ≤ 1000
- 1 ≤ A,B ≤ 10000
- 1 ≤ A1,B1 ≤ 20000
Exemplu
acoperire.in | acoperire.out |
---|---|
13 28 | 4 |
Explicaţie
Putem alege intervalele [13,20],[17,23],[23,27],[25,34].