Cod sursa(job #928166)

Utilizator heracleRadu Muntean heracle Data 26 martie 2013 12:01:46
Problema Energii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>

using namespace std;
ifstream in ("energii.in");
ofstream out ("energii.out");
int v[10000005];
int main()
{
    long long g,w,eg,i,cons,sum=0,j,min=999999999;
    in>>g>>w;
    for(i=1; i<=g; i++)
    {
        in>>eg>>cons;
        if(cons>min)
            continue;
        sum+=eg;
        for(j=w; j>0; j--)
            if(v[j]!=0 && (v[j+eg]>v[j]+cons || v[j+eg]==0))
            {
                v[j+eg]=v[j]+cons;
                if((j+eg)>=w && v[j+eg]<min)
                    min=v[j+eg];
            }
        if(v[eg]>cons || v[eg]==0)
            v[eg]=cons;
        if(eg>=w && v[eg]<min)
            min=v[eg];
    }
    if(min==999999999)
    {
        out<<"-1";
        return 0;
    }
           out<<min;
    return 0;
}