Cod sursa(job #406337)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 1 martie 2010 14:18:14
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<stdio.h>
FILE*f=fopen("energii.in","r");
FILE*h=fopen("energii.out","w");
int i,j,r,e[1002],c[1002],g;
int s[10001],w;
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<=1001;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[w]>s[j]+c[i])
						s[w]=s[j]+c[i];
			}
		}
	}
	fprintf(h,"%d",s[w]);
	fclose(f);
	fclose(h);
	return 0;
}