Cod sursa(job #320038)

Utilizator freak93Adrian Budau freak93 Data 3 iunie 2009 11:56:42
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<fstream>
#define maxw 15001
#define maxn 1001
#define dir 0x3f3f3f3f

using namespace std;

ifstream f("energii.in");
ofstream g("energii.out");

int a[maxw],i,j,n,k,W,w,c;

int main()
{
    f>>n>>W;

    for(i=1;i<=W+10000;++i) a[i]=dir;

    for(i=1;i<=n;++i)
    {
        f>>w>>c;

        for(j=W;j>=0;--j)
            if(a[j]!=dir)  a[j+w]=min(a[j+w],a[j]+c);
    }

    k=dir;

    for(i=W;i<=W+10000;++i)
        k=min(k,a[i]);

    if(k==dir) g<<-1<<"\n";
    else g<<k<<"\n";

    f.close();
    g.close();

    return 0;
}