Cod sursa(job #1840962)

Utilizator novistaAlex Staicu novista Data 5 ianuarie 2017 00:05:20
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
using namespace std;
int g,w,e[1001],c[1001],d[1005][5005],x;
ifstream fin ("energii.in");
ofstream fout ("energii.out");
int cost ()
{
    int i,j;
    for (i=1;i<=g;i++)
        for (j=1;j<=w;j++)
        {
            d[i][j]=d[i-1][j];
            if (j>e[i])
                d[i][j]=min(d[i][j],d[i-1][j-e[i]]+c[i]);
            else
                d[i][j]=min(d[i][j],c[i]);
        }
    return d[g][w];
}
int main()
{
    int i,j;
    fin>>g>>w;
    for (i=1;i<=g;i++)
        fin>>e[i]>>c[i];
    for (i=0;i<=1001;i++)
        for (j=0;j<=5005;j++)
            d[i][j]=10000000;
    x=cost();
    if (x==10000000) fout<<"-1";
    else fout<<x;
    fin.close();
    fout.close();
    return 0;
}