Cod sursa(job #406351)

Utilizator Robert29FMI Tilica Robert Robert29 Data 1 martie 2010 14:32:24
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <stdio.h>
FILE*f=fopen("energii.in","r");
FILE*g=fopen("energii.out","w");
int G,w,i,j,c[1001],e[1001],s[5001];
int main() {
	fscanf(f,"%d%d",&G,&w);
	for(i=1;i<=G;i++)
		fscanf(f,"%d%d",&e[i],&c[i]);
	for(i=1;i<=w;i++)
		s[i]=10001;
	for(i=1;i<=G;i++)
		for(j=w;j>=0;j--)
			if(s[j]!=10001)
				
				if((j+e[i])<w){
					if((s[j+e[i]])>(s[j]+c[i]))
						s[j+e[i]]=s[j]+c[i];
				}else
					if((s[j]+c[i])<s[w])
						s[w]=s[j]+c[i];
	if(s[w]!=10001)				
		fprintf(g,"%d",s[w]);
	else
		fprintf(g,"-1");
	fclose(g);
	fclose(f);
	return 0;
}