Time limit: 0.15s
Memory limit: 5MB
Input: binary-robbery.in
Output: binary-robbery.out
Cerință
Un hacker pe nume Marius încearcă să spargă baza de date secretă a Colegiului Național „Mihai Eminescu”. Baza de date este împărțită în mai multe tipuri de porțiuni de date.
Fiecare tip de date este caracterizat prin:
- dimensiunea unei porțiuni (spațiul ocupat)
- valoarea obținută pentru fiecare porțiune furată
- numărul maxim de porțiuni disponibile.
Hackerul dispune de un dispozitiv cu o capacitate limitată de stocare de unități.
Se dă un parametru .
- Dacă , se cere să se determine dacă hackerul poate fura date astfel încât să ocupe exact unități de memorie.
- Dacă , se cere să se determine valoarea maximă totală care poate fi obținută fără a depăși capacitatea .
Date de intrare
Fișierul de intrare binaryrobbery.in conține:
Pe prima linie, un număr întreg ( sau ).
Pe a doua linie, două numere întregi și , reprezentând:
- – numărul de tipuri de date,
- – capacitatea dispozitivului.
Pe următoarele N linii se află câte trei numere întregi , , , unde:
- = dimensiunea unei porțiuni,
- = valoarea unei porțiuni,
- = numărul maxim de porțiuni disponibile.
Date de ieșire
Fișierul de ieșire binaryrobbery.out va conține:
- Dacă , se va afișa DA sau NU.
- Dacă , se va afișa un singur număr întreg, reprezentând valoarea maximă.
Restricții și precizări
| # | Punctaj | Restricții |
|---|---|---|
| 1 | 8 | , , , |
| 2 | 8 | , , , |
| 3 | 9 | , , , |
| 4 | 10 | , fără restricții suplimentare |
| 5 | 10 | , , , |
| 6 | 10 | , , , |
| 7 | 12 | , |
| 8 | 13 | , toate valorile sunt egale cu |
| 9 | 10 | , , |
| 10 | 10 | fără restricții suplimentare |
Exemplul 1
binary-robbery.in
1
2 7
3 10 2
2 5 3
binary-robbery.out
DA
Exemplul 2
binary-robbery.in
2
2 7
3 10 2
2 5 3
binary-robbery.out
20
Explicație
Se pot alege:
- o porțiune de dimensiune , cu valoarea ;
- două porțiuni de dimensiune , fiecare cu valoarea .
Dimensiunea totală este , iar valoarea totală este .