Cod sursa(job #2699208)

Utilizator LucaMihaiLM10Luca Ilie LucaMihaiLM10 Data 23 ianuarie 2021 20:57:02
Problema Problema rucsacului Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include <stdio.h>
#define MAX_G 10000

int d[MAX_G + 1];

int main() {
    FILE *fin, *fout;
    int n, g, w, p, i, j;

    fin = fopen( "rucsac.in", "r" );
    fscanf( fin, "%d%d", &n, &g );
    for ( i = 1; i <= n; i++ ) {
        fscanf( fin, "%d%d", &w, &p );
        for ( j = g; j >= w; j-- )
            d[j] = (d[j - w] + p) > d[j] ? (d[j - w] + p) : d[j];
    }
    fclose( fin );

    fout = fopen( "rucsac.out", "w" );
    fprintf( fout, "%d", d[g] );
    fclose( fout );

    return 0;
}