Robotul Vasile s-a angajat la un depozit de pixuri. Aici pixurile sunt ambalate în cutii. Există tipuri de cutii; într-o cutie de tipul () sunt ambalate exact pixuri (). În depozit există un număr atât de mare de cutii de fiecare tip încât Vasile poate utiliza oricâte cutii doreşte, de orice tip.
Sarcina robotului Vasile este să livreze pixurile comandate de diferite firme de birotică. El nu ştie câte pixuri va avea de livrat la următoarea comandă, dar ştie că vor fi cel mult pixuri. Ca urmare, pentru a fi eficient, robotul Vasile vrea să îşi pregătească în camera de livrare un număr minim de cutii de pixuri astfel încât să poată livra orice număr de pixuri cuprins între şi folosind cutiile pregătite, evident, fără a deschide cutiile.
Cerință
Scrieţi un program care citeşte valorile , , , … şi și determină numărul minim de cutii pe care robotul Vasile trebuie să le pregătească în camera de livrare astfel încât să poată livra orice număr de pixuri cuprins între şi , fără a deschide nicio cutie.
Date de intrare
Fișierul de intrare pix.in
conține pe prima linie numărul natural reprezentând numărul de tipuri de cutii. Pe a doua linie se află numere naturale în ordine crescătoare, separate prin câte un spaţiu, , , …, reprezentând numărul pixuri ambalate în fiecare tip de cutie. Pe a treia linie se află numărul natural cu semnificația din enunț.
Date de ieșire
Fişierul de ieşire pix.out
va conţine o singură linie pe care va fi scris un număr natural reprezentând numărul minim de cutii pe care robotul Vasile trebuie să le pregătească în camera de livrare astfel încât să poată livra orice număr de pixuri cuprins între şi .
Restricții și precizări
- ;
- , pentru ;
- Se garantează că pentru toate datele de test există soluţie.
# | Punctaj | Restricții |
---|---|---|
1 | 20 | |
2 | 10 | |
3 | 40 |
Exemplu
pix.in
4
1 2 3 5
15
pix.out
5
Explicație
Numărul minim de cutii pe care trebuie să le pregătească Vasile este (o cutie de tipul , două de tipul şi două de tipul , numărul de pixuri din aceste cutii fiind )
El poate astfel livra orice număr de pixuri între şi , o modalitate posibilă fiind:
- : cutia de tip ;
- : o cutie de tip ;
- : o cutie de tip şi o cutie de tip ;
- : două cutii de tip ;
- : o cutie de tip ;
- : o cutie de tip şi o cutie de tip ;
- : o cutie de tip şi o cutie de tip ;
- : câte o cutie de tipurile ;
- : o cutie de tip şi două cutii de tip ;
- : două cutii de tip ;
- : două cutii de tip şi o cutie de tip ;
- : două cutii de tip şi o cutie de tip ;
- : două cutii de tip , o cutie de tip şi o cutie de tip ;
- : două cutii de tip şi două cutii de tip ;
- : toate cutiile.
Aceasta nu este singura posibilitate de a alege un număr minim de cutii pentru a obține toate valorile de la la .