Cod sursa(job #40528)

Utilizator znakeuJurba Andrei znakeu Data 27 martie 2007 14:46:25
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.45 kb
#include <stdio.h>
int v[5005];


int main()
{
	int w,g,c,i,e,j;
	v[0]=1;
	
	FILE *in=fopen("energii.in","r");
	fscanf(in,"%d%d",&g,&w);
	for (i=0; i<g; i++)
	{
		fscanf(in,"%d%d",&e,&c);
		for (j=w-e; j>=0; j--)
			if (v[j] && (v[j+e]>v[j]+c || v[j+e]==0))
				v[j+e]=v[j]+c;
	}
	fclose(in);
	
	FILE *out=fopen("energii.out","w");
	if (v[w]==0)
		fprintf(out,"-1\n");
	else
		fprintf(out,"%d\n",v[w]-1);
	fclose(out);	
	return 0;
}