Dato vam je predmeta. Predmet ima vrednost i težinu . Imate i kutija. Kutija ima nosivost i u svaku kutiju možemo da spakujemo najviše jedan predmet. Predmet može da stane u kutiju ukoliko je . Interesuje vas kolika je najveća moguća suma vrednosti predmeta koje možete spakovati u kutije.
Opis ulaza
U prvoj liniji nalaze se vrednosti , broj predmeta i , broj kutija. U drugoj liniji nalazi se prirodnih brojeva, koji predstavljaju težine predmeta. U trećoj liniji nalazi se prirodnih brojeva, koji predstavljaju vrednosti predmeta. U četvrtoj liniji nalazi se prirodnih brojeva, koji predstavljaju nosivosti kutija.
Opis izlaza
Ispisati najveću moguću sumu vrednosti predmeta koji se mogu spakovati u kutije.
Primer 1
Ulaz
2 1
8 100
12 100
15
Izlaz
12
Primer 2
Ulaz
4 3
1 8 4 9
1000000000 25 1000000000 1000000000
10 2 5
Izlaz
3000000000
Objašnjenje primera
U prvom primeru u jedinu kutiju, koja ima nosivost , možemo da spakujemo samo prvi predmet, koji ima težinu i vrednost . U drugom primeru imamo tri kutije. U prvu, koja ima nosivost stavljamo četvrti predmet, koji ima težinu i vrednost , u drugu kutiju, koja ima nosivost stavljamo prvi predmet, koji ima težinu i vrednost , a u treću kutiju, koja ima nosivost stavljamo treći predmet, koji ima težinu i vrednost . Ukupna vrednost je
Ograničenja
Test primeri su podeljeni u pet disjunktnih grupa:
- U test primerima vrednim 10 poena: .
- U test primerima vrednim 20 poena: .
- U test primerima vrednim 10 poena: Nosivost svake kutije je veća od težine svakog predmeta, tj. važi za , .
- U test primerima vrednim 20 poena: Svi predmeti imaju istu vrednost.
- U test primerima vrednim 40 poena: Nema dodatnih ograničenja.
Napomena
Primetite da rezultat može da prekorači 32-bitni tip podataka.
Comments