Cod sursa(job #562690)

Utilizator andreipasalauPasalau Andrei andreipasalau Data 23 martie 2011 18:11:33
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<fstream.h>
ifstream f("energii.in");
ofstream g("energii.out");
int sol[200],s,min,min1;int i,nr,w,e[200],c[200];
int back(int k,int cost)
{
	if(s==w)
	{
		if(cost<min) min=cost;
    }
	else{
		
		while(s<w)
		{
			s=s+e[k];
			cost+=c[k];
		    back(k+1,cost);
		}
}}
main()
{
	
	f>>nr;
	f>>w;
	int ok=1;
	for(i=1;i<=nr;i++)
	{
		f>>e[i];
		f>>c[i];
		s+=e[i];
		if(e[i]==w) {ok=0;min1=c[i];}
		min+=c[i];
	}
	if(s<w) g<<"-1";
	if(ok==0) {
		for(i=1;i<=nr;i++)
			if((e[i]==w)&&(c[i]<min1))min1=c[i]; 
		g<<min1;
	}
	else
		{back(1,0);
	    g<<min;}
}