Cod sursa(job #2157315)

Utilizator ALEx6430Alecs Andru ALEx6430 Data 9 martie 2018 15:20:43
Problema Energii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>

using namespace std;

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

int g, w, eg[1001], cg[1001], u[1001], ca, cmin, p, smax;

void citire()
{
    in>>g>>w;
    cmin=5001;
    for(int i=1;i<=g;i++) in>>eg[i]>>cg[i], smax+=eg[i];
    in.close();
}

void bkt()
{
    if(p>=w)
        if(ca<cmin) cmin=ca;
        else;
    else
        for(int i=1;i<=g;i++)
            if(ca+cg[i]<cmin)
                if(!u[i])
                {
                    u[i]=1;
                    p+=eg[i], ca+=cg[i];
                    bkt();
                    p-=eg[i], ca-=cg[i];
                    u[i]=0;
                }
}

int main()
{
    citire();
    if(smax<w) cmin=-1;
    else bkt();
    out<<cmin;
    return 0;
}