Cod sursa(job #130466)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 1 februarie 2008 11:45:40
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>
long int ge,w,i8,cmin,i,c[5010],egi,cgi,ec;
int main()
{
	FILE *f,*g;f=fopen("energii.in","r");g=fopen("energii.out","w");
	fscanf(f,"%ld",&ge);fscanf(f,"%ld",&w);
	i8=20000000;
	cmin=i8;for(i=1;i<w;i++)c[i]=i8;c[0]=0;
	for(i=1;i<=ge;i++)
	{ fscanf(f,"%ld%ld",&egi,&cgi);
	  if(egi>=w)
	   if(cgi<cmin)
	    cmin=cgi;
	  else
	  { for(ec=w-egi;ec<w;ec++)
	     if(cmin>c[ec]+cgi)cmin=c[ec]+cgi;
	    for(ec=w-1;ec>=egi;ec--)
	     if(c[ec]>c[ec-egi]+cgi)c[ec]=c[ec-egi]+cgi;
	  }
	}
	if(cmin==20000000)fprintf(g,"-1\n");
	else fprintf(g,"%ld",cmin);
	fcloseall();
	return 0;
}