Cod sursa(job #373075)

Utilizator Magnuscont cu nume gresit sau fals Magnus Data 12 decembrie 2009 16:46:20
Problema Energii Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.44 kb
#include <stdio.h>

int v[5001],g,w,i,j,e,c;

int main()
{
	freopen("energii.in","r",stdin);
	freopen("energii.out","w",stdout);
	scanf("%d%d",&g,&w);
	for (i=1;i<g+1;i++)
	{
		scanf("%d%d",&e,&c);
		for (j=w;j>-1;j--)
		{
			if (((v[j]!=0)||(j==0))&&((v[e+j]==0)||(v[e+j]>v[j]+c)))
				if (e+j<w) v[e+j]=v[j]+c;
				else if ((v[w]>v[j]+c)||(v[w]==0)) v[w]=v[j]+c;
		}

	}
	if (v[w]==0) v[w]=-1;
	printf("%d",v[w]);
	return 0;
}