Cod sursa(job #1956883)
| Utilizator | Data | 7 aprilie 2017 09:34:45 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include <bits/stdc++.h>
#define FIN "rucsac.in"
#define FOUT "rucsac.out"
using namespace std;
int w[10001], p[10001], Cost[10001], g, n;
int main(){
ifstream fin(FIN);
ofstream fout(FOUT);
fin>>n;
fin>>g;
for(int i=1; i<=n; i++){
fin>>w[i];
fin>>p[i];
}
for(int i=0; i<=n; i++){
for(int j=g; j>=w[i]; j--){
Cost[j]=max(Cost[j], Cost[j-w[i]]+p[i]);
}
}
fout<<Cost[g];
return(0);
}