Cod sursa(job #3262353)
| Utilizator | Data | 9 decembrie 2024 20:22:36 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | c-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <stdio.h>
#define MAX(a, b) (a > b ? a : b)
int v[10000];
int main()
{
FILE *in = fopen("rucsac.in", "r");
int N, g, w, p;
fscanf(in, "%d%d", &N, &g);
for (int n = 0; n < N; n++) {
fscanf(in, "%d%d", &w, &p);
for (int i = g; i >= w && i >= 1; i--)
v[i] = MAX(v[i], v[i - w] + p);
}
fclose(in);
FILE *out = fopen("rucsac.out", "w");
fprintf(out, "%d", v[g]);
fclose(out);
}
