Cod sursa(job #1450075)

Utilizator greenadexIulia Harasim greenadex Data 11 iunie 2015 12:44:18
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

const int inf = (1 << 30) - 1, MAX = 5001;
int g, w, e, c, minn = inf, dp[MAX];

int main()
{
    fin >> g >> w;
    for (int i = 1; i < MAX; i++)
        dp[i] = inf;

    for (; g; g--){
        fin >> e >> c;
        for (int i = w; i >= 0; i--){
            int temp = min (w, i + e);
            dp[temp] = min (dp[temp], dp[i] + c);
        }
    }
    fout << (dp[w] == inf ? -1 : dp[w]);
    return 0;
}