== include(page="template/taskheader" task_id="zapada2") ==
După cum spune o vorbă din bătrâni, ”iarna nu-i ca vara” și din când în când mai și ninge. În această iarnă, în frumoasa noastră capitală s-a strâns o cantitate mare de zăpadă, care este adunată în N mormane cu volumele v(1), v(2), ..., v(N) metri cubi. Primăria și-a propus să strângă toată zăpada. Pentru asta are la dispoziție M buldozere care pot ridica într-o noapte (ziua traficul îngreunează operațiunea) câte c(1), c(2), ..., respectiv c(M) metri cubi de zăpadă. Pentru că dorește să ajungă la costuri cât mai mici și asta înseamnă să folosească un număr cât mai mic de buldozere, primăria ar vrea să știe dacă poate rezolva problema zăpezii într-o singură noapte și care e numărul minim de buldozere necesare.
h2. Cerință
Scrieți un program care răspunde la întrebarea pusă de primărie pe baza datelor de intrare.
Poveste și cerință...
h2. Date de intrare
Fișierul de intrare $zapada2.in$ conține pe prima linie un număr natural nenul N, pe cea de-a doua linie N numere naturale nenule separate prin câte un spațiu, reprezentând volumele mormanelor de zăpadă, pe a treia linie M reprezentând numărul de buldozere, iar pe cea de-a patra linie, M numere naturale nenule separate prin câte un spațiu.
Fișierul de intrare $zapada2.in$ ...
h2. Date de ieșire
În fișierul de ieșire $zapada2.out$ se va afla un singur număr P, reprezentând numărul minim de buldozere necesare.
În fișierul de ieșire $zapada2.out$ ...
h2. Restricții
* $1 ≤ N ≤ 100 000$
* $1 ≤ M ≤ 100 000$
* $1 ≤ v(i) ≤ 100 000$ pentru orice $1 ≤ i ≤ N$
* $1 ≤ c(i) ≤ 100 000$ pentru orice $1 ≤ i ≤ M$
* dacă buldozerele disponibile nu pot încărca toată zăpada într-o singură noapte, atunci în fișierul de ieșire se va scrie -1
* un buldozer poate să încarce zăpada din 1 sau mai multe mormane
* $... ≤ ... ≤ ...$
h2. Exemplu
table(example).
|_. zapada2.in |_. zapada2.out |
| 2
10 16
4
20 1 3 4
| 3
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
| 2
20 16
4
20 1 3 4
| -1
|
h3. Explicație
Pentru primul exemplu, se pot folosi buldozerele 1, 3 și 4, de capacități 20, 3 și 4. Ultimul buldozer nu va fi folosit la capacitate maximă.
Pentru cel de-al doilea exemplu, buldozerele disponibile nu pot încărca într-o noapte întreaga cantitate de zăpadă.
...
== include(page="template/taskfooter" task_id="zapada2") ==