LearnToCP
Prijavi se
Navigacija
PočetnaRoad-mapaProblemiO Nama
Teorija
Takmičarsko Znanje
Izbor Radnog Okruženja (IDE)Interaktivni ZadaciOutput-only Zadaci
Osnove
Tvoj Prvi ProgramTipovi podataka, Unos i IzlazC++ sintaksaModuloFunkcijeVektoriMatriceVremenska Složenost Algoritma
Sortiranje
SortiranjeSortiranje PrebrojavanjemRadix Sort
Tehnike Optimizacije
Dva PokazivačaZbir brojeva od 1 do nZbir PrefiksaBinarna PretragaPohlepni AlgoritmiFunkcije Binarne PretrageBinarna Pretraga po RešenjuPodeli, pa Vladaj
Binarni Brojevi
Binarni BrojeviBrojevi u koduOperacije nad BitovimaBitmaske
Matematika
Binarno StepenovanjeProsti BrojeviRastavljanje na proste činioceNZD i NZSEratostenovo SitoModifikovano Sito
Strukture Podataka
Niske (Stringovi)StekRedMapeSkupovi (Set)Red sa PrioritetomKorišćenje Proizvoljnih KriterijumaSegmentna StablaFenvikova StablaSparse TabeleDisjunktni SkupoviSqrt Dekompozicija
Kombinatorika
Pravilo SabiranjaPravilo MnoženjaKombinatorni ObjektiPrincip Uključenja Isključenja
Geometrija
Osnove GeometrijeVektoriVektorski i Skalarni ProizvodLinijePoligoniUgloviTačka u PoligonuRastojanja i Tačke PresekaKonveksni OmotačKrugovi
Rekurzija
PokazivačiRekurzijaGenerisanje Kombinatornih Objekata
Dinamičko Programiranje
O DP-uDP problemiDP nad StablimaDP nad Bitmaskama
Teorija Grafova
GrafoviDFS i BFSNajkraći PuteviStablaTopološko SortiranjeDajkstrin AlgoritamMinimalna Razapinjuća StablaAlgoritmi Najkraćih Puteva
Napredna Teorija Grafova
Dvostruka PovezanostJako Povezane KomponenteBipartitni GrafMaksimalni Protok u GrafuFord-Fulkersonov AlgoritamDualnost Protoka i Minimalnog PresekaTeško-Laka DekompozicijaCentroidna Dekompozicija
Napredne Strukture Podataka
2D i 3D Segmentna StablaLenjo PropagiranjeImplicitna Segmentna StablaPerzistentna Segmentna StablaNajbliži Zajednički PredakTrieBalansirana Binarna Stabla PretrageMoov Algoritam

Problem ranca

EasyProblem #8
VremeMemorijaUlazIzlaz
1 s64 MBstdinstdout

Jedan od najpoznatijih DP problema. Stanje zavisi od dve stvari: koje predmete smo razmotrili i koliko je kapaciteta ostalo.

Lopov je provalio u magacin noseći ranac koji može da izdrži najviše W kilograma. U magacinu se nalazi n predmeta, svaki sa svojom težinom i vrednošću. Svaki predmet može se uzeti najviše jednom, a predmeti se ne mogu deliti.

Odredi najveću ukupnu vrednost predmeta koje lopov može da iznese, tako da njihova ukupna težina ne pređe W.

Ulaz

U prvom redu nalaze se dva broja: n i W, broj predmeta i kapacitet ranca.
U narednih n redova nalaze se po dva broja: wi​ i vi​, težina i vrednost i-tog predmeta.

Izlaz

Jedan broj - najveća ukupna vrednost koja staje u ranac.

Primer

Input
4 5
4 1
5 2
1 3
3 4
Output
7

Lopov uzima treći i četvrti predmet: ukupna težina 1+3=4≤5, ukupna vrednost 3+4=7.

Ograničenja

1≤n≤100
1≤W≤104
1≤wi​≤W
1≤vi​≤106

Pošalji svoje rešenje

Prijavi se da pošalješ rešenje i pratiš svoj napredak.

Prijavi se