Pagini recente » Cod sursa (job #1012125) | Cod sursa (job #2964789) | Cod sursa (job #2564415) | Cod sursa (job #2295472) | Cod sursa (job #2157315)
#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;
}