Cod sursa(job #2700361)

Utilizator teodorescunicolasteodorescu nicolas alexandru teodorescunicolas Data 27 ianuarie 2021 15:18:02
Problema Energii Scor 95
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <stdio.h>
#define GMAXX 1000
#define WMAXX 5001

int v[WMAXX + 1];
int main()
{
    FILE *fin, *fout;
    int g, w, energie, cost, i, j;
    fin = fopen( "energii.in", "r" );
    fout = fopen( "energii.out", "w" );
    fscanf( fin, "%d%d", &g, &w );
    for ( i = 1; i <= w; i++ ) { /// bordare
        v[i] = WMAXX * GMAXX;
    }
    for ( i = 1; i <= g; i++ ) {
        fscanf( fin, "%d%d", &energie, &cost );
        for ( j = w; j > energie; j-- ) {
            if ( v[j] > v[j - energie] + cost ) {
                v[j] = v[j - energie] + cost;
            }
        }
        for ( j = 1; j <= energie; j++ ) {
            if ( v[j] > cost ) {
                v[j] = cost;
            }
        }
    }
    fprintf( fout, "%d", v[w] );
    fclose( fin );
    fclose( fout );
    return 0;
}