Cod sursa(job #3262353)

Utilizator pofianFilipp pofian 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);
}