Cod sursa(job #1013630)

Utilizator rares96cheseliRares Cheseli rares96cheseli Data 21 octombrie 2013 14:15:27
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");

int cmin[1005][5005], e[1005], w, cost[1005], y;
long long s, nr;

int main()
{
    f>>nr>>w;
    for (int i=1; i<=nr; ++i)
        f>>e[i]>>cost[i], s+=e[i];

    for (int i=1; i<=w; ++i) cmin[0][i]=2000000000;
    for (int i=1; i<=nr; ++i) cmin[i][0]=2000000000;

    for (int i=1; i<=nr; ++i)
        for (y=1; y<=w; ++y)
            if (e[i]>=y) cmin[i][y]=min(cmin[i-1][y],cost[i]);
                else cmin[i][y]=min(cmin[i-1][y], cmin[i-1][y-e[i]]+cost[i]);

    if (s<w) g<<-1<<'\n';
        else g<<cmin[nr][w]<<'\n';
    return 0;
}