Cod sursa(job #460374)

Utilizator pirvupirvu tudor pirvu Data 2 iunie 2010 12:46:45
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<cstdio>

const int oo = 1<<27;

int n,w,i,j;

int a[1001],b[1001];

int f[15050];



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