Cod sursa(job #3246577)

Utilizator Andreea3425Diaconu Andreea Andreea3425 Data 3 octombrie 2024 18:06:01
Problema Problema rucsacului Scor 0
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <stdio.h>

#define G 10000

int ma[3][G+2];

int main()
{
    FILE *fin, *fout;
    int n,gr,i,l,c,g,v;
    fin=fopen("rucsac1.in", "r");
    fscanf(fin, "%d%d", &n, &gr);
    fout=fopen("rucsac1.out", "w");
    for (l=1; l<=n; l++){
        fscanf(fin, "%d%d", &g, &v);
        for (c=1; c<=gr; c++){
            if (c>=g){
                if (ma[1][c]>ma[1][c-g]+v)
                    ma[2][c]=ma[1][c];
                else
                    ma[2][c]=ma[1][c-g]+v;
            }else
                ma[2][c]=ma[1][c];
        }
        for (c=1; c<=gr; c++)
            ma[1][c]=ma[2][c];
    }
    fprintf(fout, "%d\n", ma[2][gr]);
    fclose(fin);
    fclose(fout);
    return 0;
}