Cod sursa(job #386125)

Utilizator horiama1Mania Horia horiama1 Data 24 ianuarie 2010 09:59:23
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>
struct doi{
	int i,j;
};
int v[50001];
int main()
{
	freopen("energii.in","r",stdin);
	freopen("energii.out","w",stdout);
	long i,j,n,k,min=-1,aux;
	doi g[10001];
	scanf("%ld%ld",&n,&k);
	v[0]=1;
	for(i=0;i<n;i++)
		scanf("%ld%ld",&g[i].i,&g[i].j);
	for(i=0;i<n;i++)
	       for(j=k-1;j>=0;j--)
	       {
			if(v[j]!=0)
			{
				aux=v[j]+g[i].j;
			if(j+g[i].i>=k)
				{if(min>aux||min==-1)
					min=aux;}
			else
				if(v[j+g[i].i]==0)
					v[j+g[i].i]=aux;
				else
					if(v[j+g[i].i]>aux)
						v[j+g[i].i]=aux;}
		}
	if(min==-1)
		min=0;
	printf("%ld",min-1);
return 0;
}