Cod sursa(job #1939491)
Utilizator | Popescu Vlad Druffbaum | Data | 25 martie 2017 19:24:00 |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <cstdio>
const int MAXG = 1e4;
int d[MAXG];
int main() {
int n, g, a, b;
FILE *f = fopen("rucsac.in", "r");
fscanf(f, "%d%d", &n, &g);
for (int i = 0; i < n; ++i) {
fscanf(f, "%d%d", &a, &b);
for (int j = g; j >= a; j--) {
if (d[j] < b + d[j - a]) {
d[j] = d[j - a] + b;
}
}
}
fclose(f);
f = fopen("rucsac.out", "w");
fprintf(f, "%d\n", d[g]);
fclose(f);
return 0;
}