Cod sursa(job #1496819)
| Utilizator | Data | 5 octombrie 2015 17:34:20 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("intrare.in");
ofstream g("iesire.out");
const int NMax = 5005;
int D[NMax][NMax];
int main()
{
int n, GMax, x, val;
f >> n >> GMax;
for(int i = 1; i<=n; i++){
f >> x >> val;
for(int j = 1; j<=GMax; j++){
if(j>=x){
D[i][j] = max(D[i - 1][j], D[i - 1][j - x] + val);
}
else{
D[i][j] = D[i - 1][j];
}
}
}
g << D[n][GMax];
return 0;
}
