Cod sursa(job #130455)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 1 februarie 2008 11:29:30
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<stdio.h>
long int ge,w,i8,cmin,i,c[5001],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) cmin=(cmin<cgi)?cmin:cgi;
	  else
	  { for(ec=0;ec<w-egi;ec++)
	     if(c[ec+egi]<c[ec]+cgi)c[ec+egi]=c[ec]+cgi;
	    for(ec=w-egi;ec<w;ec++)
	     if(cmin<c[ec]+cgi)cmin=c[ec]+cgi;
	  }
	}
	if(cmin==20000000)fprintf(g,"-1\n");
	else fprintf(g,"%ld",cmin);
	fcloseall();
	return 0;
}