Cod sursa(job #2290321)

Utilizator Pop_EmilPal Tamas Pop_Emil Data 26 noiembrie 2018 11:50:04
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <stdio.h>
#include <algorithm>

FILE *in = fopen("energii.in","r");
FILE *out = fopen("energii.out","w");

int G, W;
int T[1005][2];
int C[1005][5005];
#define INF 9999999

void _read()
{
    fscanf(in, "%d %d", &G, &W);

    for(int i = 1; i<=G; ++i)
    {
        fscanf(in, "%d %d", &T[i][0], &T[i][1]);
    }
}

int main()
{
    _read();

    for(int j = 0; j<=W; ++j)
        C[0][j] = INF;

    for(int i = 1; i<=G; ++i)
    {
        for(int j = 1; j<=W; ++j)
        {
            if(T[i][0] > W)
                C[i][j] = std::min(T[i][1], C[i-1][j]);
            else
                C[i][j] = std::min(T[i][1] + C[i-1][j-T[i][0]], C[i-1][j]);
        }

    }

    fprintf(out, "%d", C[G][W]);
    return 0;
}