Cod sursa(job #595877)

Utilizator SmarandaMaria Pandele Smaranda Data 14 iunie 2011 19:08:54
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<cstdio>
#include<vector>
using namespace std;
int main()
{
	long g,w,i,eg,cg,j,lim,min=2000000000;
	vector<long> e;
	vector<long> c;
	vector<long> ind;
	vector<long> cost;
	
	freopen("energii.in","r",stdin);
	freopen("energii.out","w",stdout);
	
	scanf("%ld%ld",&g,&w);
	for (i=1;i<=g;i++)
	{
		scanf("%ld%ld",&eg,&cg);
		e.push_back(eg);
		c.push_back(cg);
	}
	ind.push_back(0);
	cost.push_back(0);
	for (i=0;i<e.size();i++)
	{
		lim=ind.size();
		for (j=0;j<lim;j++)
		{
			eg=ind[j]+e[i];
			cg=cost[j]+c[i];
			ind.push_back(eg);
			cost.push_back(cg);
		}
	}
	for (i=ind.size()-1;i>=0;i--)
	{
		if (ind[i]<w)
			break;
		if (cost[i]<min)
			min=cost[i];
	}
	printf("%ld\n",min);
	return 0;
}