Cod sursa(job #840693)

Utilizator enedumitruene dumitru enedumitru Data 23 decembrie 2012 00:39:13
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<fstream>
using namespace std;
ifstream f("energii.in"); ofstream g("energii.out");
const int inf=1<<30;
int n,W,eg,cg,a[5003];
int main()
{   f>>n>>W;
    for(int i=1; i<=W; ++i) a[i]=inf;
    for(int i=1; i<=n; ++i)
    {   f>>eg>>cg;
        for(int j=W; j>=0; --j)
            if(a[j] != inf)
            {
                if(W <= j+eg && a[j]+cg < a[W]) a[W]=a[j]+cg;
                if(j+eg < W && a[j]+cg<a[j+eg]) a[j+eg]=a[j]+cg;
            }
    }
    if(a[W]==inf) g<<"-1\n"; else g<<a[W]<<'\n';
    return 0;
}