Cod sursa(job #60830)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 17 mai 2007 01:28:43
Problema Energii Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<stdio.h>
long int ge,w,i,egi,cgi,cmin,k,co[5001];
int main()
{
	FILE *f,*g;
	f=fopen("energii.in","r");
	g=fopen("energii.out","w");
	fscanf(f,"%ld",&ge);
	fscanf(f,"%ld",&w);
	cmin=10000002;
	for(i=1;i<=ge;i++)
	{ fscanf(f,"%ld%ld",&egi,&cgi);
	  if(egi>=w) { if(cgi<cmin)cmin=cgi;}
	  else
	  { for(k=w-1;k>=w-egi;k--)
	    if(co[k]) if(co[k]+cgi<cmin) cmin=co[k]+cgi;
	    for(k=w-egi-1;k>=1;k--)
	    if(co[k]) if(!co[k+egi]||co[k+egi]>co[k]+cgi) co[k+egi]=co[k]+cgi;
	    if(!co[egi]||(co[egi]>cgi))co[egi]=cgi;
	  }
	}
	fprintf(g,"%ld",cmin);
	fcloseall();
	return 0;
}