Cod sursa(job #782153)

Utilizator Athena99Anghel Anca Athena99 Data 26 august 2012 00:31:48
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<cstdio>

int d[10001],w[5001],p[5001];

int main()
{
    int n=0,g=0,s=10000000,i=0,j=0,inf=10000000;
	freopen("energii.in","r",stdin);
	freopen("energii.out","w",stdout);
	scanf("%d%d",&n,&g);
	for (i=1; i<=10001; ++i)
        d[i]=inf;
	for (i=0; i<n; ++i)
		scanf("%d%d",&w[i],&p[i]);
	for(i=0; i<n; ++i)
		for(j=g-w[i]; j>-1; --j)
			if(d[j+w[i]]>d[j]+p[i])
			{
				d[j+w[i]]=d[j]+p[i];
				if(d[j+w[i]]<s && j+w[i]>=g)
					s=d[j+w[i]];
			}
    if (s!=10000000)
        printf("%d",s);
	else
        printf("-1");
	return 0;
}