Cod sursa(job #324206)

Utilizator siminescuPaval Cristi Onisim siminescu Data 14 iunie 2009 21:52:47
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<fstream.h>   
int a[5001],w,i,n,c,k,j;      
int main()   
{
	ifstream f("energii.in");   	
	ofstream g("energii.out");   
	f>>n>>w;   
	a[0]=0;
	for(j=1;j<=w;j++)   
		a[j]=-1;   	
	for(i=1;i<=n;i++)   
    {	
		f>>ec>>cg;   
		for(j=w;j>=0;j--)   
		{
			if(a[j]!=-1)   
				if(j+ec<=w)   
				{
					if(a[j+ec]==-1||a[j+ec]>cg+a[j])   
						a[j+ec]=cg+a[j];
				}   
            else  
				if(a[w]>cg+a[j]||a[w]==-1)   
					a[w]=cg+a[j];
		}
	}   
g<<a[w];
f.close();
g.close();
return 0;
}