Podróże pana Jana
Transkrypt
Podróże pana Jana
Podróże pana Jana - pakowanie Opis Pan Jan bardzo lubi podróżować. Ostatnio zaplanował bardzo daleką podróż i ma wiele rzeczy do zabrania ze sobą. Chciałby spakować swoje rzeczy w torby, które sumarycznie kosztują jak najmniej. Sklep oferuje torby różnych typów. Torba danego typu może udźwignąć tylko określony ciężar i ma określoną cenę. Pomóż wybrać panu Janowi zestaw toreb, w które będzie mógł spakować wszystkie potrzebne rzeczy, a którego koszt będzie najmniejszy. Pan Jan może kupić dowolną liczbę toreb danego typu. Specyfikacja wejścia W pierwszej linii pliku wejściowego znajduje się liczba naturalna d (1 ≤ d ≤ 100), określająca liczbę zestawów danych. Pierwsza linia każdego zestawu zawiera liczbę N (1 ≤ N ≤ 20), określającą liczbę rzeczy, które pan Jan planuje zabrać w podróż oraz liczbę M (1 ≤ M ≤ 50), określającą liczbę różnych typów toreb. W kolejnych M liniach każdego testu będą znajdować się pary liczby w i, ci (1 ≤ w i, ci ≤ 1000) określające maksymalny udźwig oraz koszt torby danego typu. W ostatniej linii znajduje się N liczb (1 ≤ Ti ≤ 1000), określających wagę poszczególnych elementów. Udźwig co najmniej jednej torby jest niemniejszy niż waga najcięższej rzeczy (na pewno istnieje rozwiązanie). Specyfikacja wyjścia Dla każdego zapytania wypisać minimalny koszt zestawu toreb. Przykład Wejście Wyjście 3 52 5 10 8 20 61254 53 32 67 10 10 45532 10 1 10 6 1 7 8 10 6 4 4 3 1 5 40 19 30