Cod sursa(job #121416)

Utilizator raduzerRadu Zernoveanu raduzer Data 8 ianuarie 2008 18:04:31
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <stdio.h>


int n,m,a[1010],b[1010],v[6000],min;

int main()
{
	freopen("energii.in","r",stdin);
	freopen("energii.out","w",stdout);
	scanf("%d",&n);
	scanf("%d",&m);
	int i,j;
	for (i=1; i<=n; ++i) scanf("%d %d",&a[i],&b[i]);
	for (i=1; i<=5600; ++i) v[i]=2000000000;
	for (i=1; i<=n; ++i)
	{
		for (j=m; j>=0; --j)
		{
			if (v[j]<2000000000)
			{
				if (v[j]+b[i]<v[j+a[i]]) v[j+a[i]]=v[j]+b[i];
			}
		}
	}
	min=v[m];
	for (i=m+1; i<=5500; ++i) if (v[i]<min) min=v[i];
	printf("%d",min);
	return 0;
}