Cod sursa(job #1507618)
Utilizator | Data | 21 octombrie 2015 19:25:33 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.31 kb |
#include <iostream>
using namespace std;
int D[10001];
int N,G;
int W[5001];
int P[5001];
int main(){
cin>> N>>G;
for (int i=0;i<N;i++){
cin>>W[i]>>P[i];
}
D[0]=0;
for (int i=0;i<N;i++){
for (int j=0;j<G;j++){
if (W[i]<=j){
D[j]= max(D[j],D[j-W[i]]+P[i]);
}
}
}
cout<<D[G-1];
return 0;
}