Utovar


Opis zadatka:

Na raspolaganju nam je transportno sredstvo čija je nosivost M kilograma (M <= 1000), kao i N vrsta različitog tereta (N <= 100) kojeg ima u neograničenim količinama. Ovi tereti su različitih težina

t1, t2, t3, ... tN

i različitih vrijednosti

v1, v2, v3, ... vN

Potrebno je odrediti kolika je najveća moguća ukupna vrijednost tereta koji se može natovariti u transportno sredstvo a da se pri tome ne prekorači dozvoljena nosivost. Na primjer, uzmimo da je nosivost M = 17, da imamo N = 5  vrsta tereta na raspolaganju sa težinama

t1 = 3, t2 = 4, t3 = 7, t4 = 8  i  t5 = 13

a čije su vrijednosti

v1 = 4, v2 = 5, v3 = 10, v4 = 11  i  v5 = 13

Tada je najveća vrijednost koju možemo ostvariti 24, i to ukoliko uzmemo jedan primjerak prve vrste robe i dva primjerka treće vrste robe. Napomenimo da transportno sredstvo ne mora biti popunjeno do maksimalne nosivosti, tj. u nekim slučajevima može ostati i prazno mjesto (koje je tada sigurno manje od težine najlakšeg tereta).

Izvršni program mora imati naziv UTOVAR.EXE.

Ulazna datoteka:

Ulazna datoteka UTOVAR.IN koja se nalazi u tekućem direktoriju ima tri reda. Prvi red sadrži dva cijela broja, M i N, razdvojena jednim razmakom. Drugi red sadrži N cijelih brojeva ti, i = 1..N koji predstavljaju težine za svaku pojedinu vrstu tereta. Treći red sadrži također N cijelih brojeva vi, i = 1..N koji predstavljaju vrijednosti za svaku pojedinu vrstu tereta.

Izlazna datoteka:

Program treba da kreira izlaznu datoteku UTOVAR.OUT u tekućem direktoriju. Datoteka treba da sadrži samo jedan red koji sadrži samo jedan cijeli broj koji predstavlja najveću ukupno moguću vrijednost tereta (uz poštovanje dozvoljene nosivosti). Na kraju reda ne treba stajati oznaka kraja reda (EOL marker).

Vremensko ograničenje:

Za svaki testni primjer program treba da ponudi rješenje za najviše 10 sekundi.

Primjeri:

UTOVAR.IN
17 5
3 4 7 8 9
4 5 10 11 13
UTOVAR.OUT
24
UTOVAR.IN
41 3
8 11 12
40 65 78
UTOVAR.OUT
236
UTOVAR.IN
55 4
5 8 6 9
3 7 10 8
UTOVAR.OUT
90
[Testni podaci]     [Rješenje (Pascal)]     [Rješenje (C++)]    

Nazad na izbor zadataka
Nazad na glavnu stranicu