Cod sursa(job #1114900)

Utilizator Paula-ElenaPaula-Elena Margarit Paula-Elena Data 21 februarie 2014 19:49:50
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <climits>
#include <fstream>
using namespace std;

ifstream fin("energii.in");
ofstream fout("energii.out");

const int MAXW = 5003;
const int INF = INT_MAX;

int G, W, d[MAXW];

void initializeaza()
{
    for (int i = 1; i <= W+1; ++i)
        d[i] = INF;
}

int main()
{
    int put, cost;

    fin >> G >> W;
    initializeaza();

    for (int j = 0; j < G; ++j)
    {
        fin >> put >> cost;
        for (int i = W - put; i >= 0; --i)
            if ( d[i] != INF && d[i + put] > d[i] + cost )
                d[i + put] = d[i] + cost;
    }

    fout << d[W];

    fin.close();
    fout.close();

    return 0;
}