Cod sursa(job #1540630)

Utilizator tudorgalatanRoman Tudor tudorgalatan Data 2 decembrie 2015 23:25:09
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>

#define INF 0x3f3f3f3f
#define NO1 1001
#define NO2 5001

using namespace std;

ifstream InF ("energii.in");
ofstream OutF ("energii.out");

int EG[NO1], CG[NO1];
int G, W;

int aux[NO1][NO2];
int i, j;

void read ();
void solve ();
void print ();

int main()
{
    read ();
    solve();
    print ();
    return 0;
}

void read ()
{
    InF >> G >> W;
    for (i=1; i<=G; i++)
        InF >> EG[i] >> CG[i];
}

void solve ()
{
    for (i=0; i<=G; i++)
        for (j=1; j<=W; j++)
            aux[i][j] = INF;
    for (i=1; i<=G; i++)
        for (j=1; j<=W; j++)
            if (j >= EG[i])
                aux[i][j] = min (aux[i-1][j], aux[i-1][j-EG[i]]+CG[i]);
            else
                aux[i][j] = min (aux[i-1][j], CG[i]);
}

void print ()
{
    OutF << aux[G][W];
}