Cod sursa(job #476842)

Utilizator andreivFMI - vacaroiu andrei andreiv Data 12 august 2010 14:44:00
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include <cstdio>
int main()
{
	int j,c[5001],n,x,y,i,m,min=234424242;
	freopen("energii.in","r",stdin);
	freopen("energii.out","w",stdout);
	scanf("%d %d",&n,&m);
	for (i=1;i<=m;++i) c[i]=min;
	for (i=1;i<=n;++i)
	{
		scanf("%d %d",&x,&y);
		for (j=m-1;j>1;--j)
			if (j+x>m) {if (c[m]>c[j]+y) c[m]=c[j]+y;} else
				if (c[j+x]>c[j]+y) c[j+x]=c[j]+y;
		if (c[x]>y) c[x]=y;	
	}
	if (c[m]==min) printf("-1"); else
	printf("%d",c[m]);
	return 0;}