Cod sursa(job #325977)

Utilizator Anamaria20Cotirlea Anamaria Anamaria20 Data 23 iunie 2009 10:51:42
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <stdio.h>

FILE *f,*s;

int g,w,x,y,i,j,e[5005];

int main()
{
	f=fopen("energii.in","r");
	s=fopen("energii.out","w");
	
	fscanf(f,"%d\n%d\n",&g,&w);
	
	e[0]=0;
	for(i=1;i<=w;i++)
		e[i]=-1;
	
	for(i=1;i<=g;i++)
	{
		fscanf(f,"%d %d\n",&x,&y);
		
		for(j=w;j>=0;j--)
		{
			if(e[j]!=-1)
			{
				if(j+x<w)
				{
					if(e[j+x]==-1||e[j+x]>y+e[j])
						e[j+x]=y+e[j];
				}	
				else
				{
					if(e[w]>y+e[j]||e[w]==-1)     
						e[w]=y+e[j];  
				}	
			}
		}	
		
		
	}		
	
	fprintf(s,"%d",e[w]);
	
	fclose(s);
	
	return 0;
}