Cod sursa(job #1547456)

Utilizator AdrianVrAdrian Stefan Vramulet AdrianVr Data 9 decembrie 2015 16:44:34
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
#include <climits>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int v[10001],EG[10001],CG[10001],G,W;
int main()
{
    fin>>G>>W;
    for(int i=1; i<=G; i++)
        fin>>EG[i]>>CG[i];
    for(int i=0; i<=10000; i++)
        v[i]=INT_MAX;
    v[0]=0;
    for(int i=1; i<=G; i++)
        for(int j=W; j>=0; j--)
            if(v[j]!=INT_MAX)
            {
                if(j+EG[i]>=W)
                    v[W]=min(v[W],v[j]+CG[i]);
                else
                    v[j+EG[i]]=min(v[j+EG[i]],v[j]+CG[i]);
            }
    if(v[W]!=INT_MAX)
        fout<<v[W];
    else
        fout<<-1;
    return 0;
}