Dănuț este un om al peșterii foarte ocupat: are de spart bolovani. Pentru fiecare bolovan se cunosc numărul de zile necesare pentru spargerea lui și termenul limită , adică ultima zi la care acesta ar trebui spart.
Dănuț știe că cel mai eficient mod de a lucra este să se concentreze pe un singur bolovan în fiecare zi. Dacă începe să lucreze la un anume bolovan, el va lucra la acesta în continuu până când îl sparge, fără să intercaleze zile în care lucrează la alți bolovani, sau zile libere. De asemenea, Dănuț nu își va lua zile de odihnă nici între terminarea spargerii unui bolovan și începerea lucrului la bolovanul următor.
Se consideră că un bolovan este spart înainte de termen dacă numărul ultimei zile în care Dănuț lucrează la bolovanul este mai mic sau egal cu .
Cerință
Dându-se numărul de bolovani, precum și numărul de zile necesare pentru spargerea fiecărui bolovan și termenul limită la care acesta ar trebui spart, să se determine o planificare a lucrului la cei bolovani în așa fel încât un număr maxim de bolovani să fie sparți înainte de termen.
Date de intrare
Prima linie a fișierului de intrare bolovani.in
va conține numărul de bolovani. Următoarele linii vor conține câte două numere întregi, pe a -a dintre acestea aflându-se numerele și separate printr-un spațiu, semnificând numărul de zile necesare pentru spargerea bolovanului , respectiv ultima zi în care ar trebui finalizată spargerea bolovanului .
Date de ieșire
Prima linie a fișierului de ieșire bolovani.out
va conține numărul bolovanilor sparți înainte de termen. Următoarele linii vor conține câte două numere separate printr-un spațiu, semnificând ziua în care Dănuț începe să lucreze la bolovanul , respectiv ziua în care Dănuț termină spargerea bolovanului . Dacă există mai multe soluții, se poate afișa oricare
Restricții
- Dănuț începe spargerea bolovanilor în ziua .
- Dănuț trebuie să spargă toți cei bolovani, chiar dacă unii nu vor fi sparți înainte de termen
# | Punctaj | Restricții |
---|---|---|
1 | 20 | |
2 | 20 | |
3 | 60 | Fără restricții suplimentare |
Exemple
bolovani.in
5
4 6
3 7
2 8
5 9
6 11
bolovani.out
3
12 15
1 3
4 5
16 20
6 11
Explicații
Dănuț are de spart bolovani. El poate sparge dintre aceștia înainte de termen, dacă lucrează:
- la bolovanul din ziua până în ziua , inclusiv, terminându-l de spart după termenul limită din ziua .
- la bolovanul din ziua până în ziua , inclusiv, terminându-l de spart înainte de termenul limită din ziua .
- la bolovanul din ziua până în ziua , inclusiv, terminându-l de spart înainte de termenul limită din ziua .
- la bolovanul din ziua până în ziua , inclusiv, terminându-l de spart după termenul limită din ziua .
- la bolovanul din ziua până în ziua , inclusiv, terminându-l de spart înainte de termenul limită din ziua .