Cod sursa(job #94944)

Utilizator piroslPiros Lucian pirosl Data 26 octombrie 2007 17:40:19
Problema Energii Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <iostream>
using namespace std;

int maxv = 10000010;
int ee[1001];
int cg[1001];
int g;
int w;

void process(int start, int c, int e) 
{
	if(start > g)
		return;
	if(e >= w && c < maxv)
	{
		maxv = c;
		return;
	}
	if(c >= maxv)
		return;
	for(int i=start;i<g;++i)
		process(i+1, c+cg[i], e+ee[i]);
}

int main(void)
{
	ifstream in;
	ofstream out;
	in.open("energii.in");
	out.open("energii.out");
	in >> g;
	in >> w;
	for(int i=0;i<g;++i)
	{
		int ee1, cg1;
		in >> ee1 >> cg1;
		ee[i] = ee1;
		cg[i] = cg1;
	}
	in.close();
	process(0, 0, 0);

	out << maxv << endl;
	out.close();
	return 0;
}