Cod sursa(job #820645)

Utilizator gegeadDragos Gegea gegead Data 21 noiembrie 2012 08:45:46
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include<cstdio>
#include<cstring>
int a[10001];
struct obiect
{
	int g;
	int p;
};
obiect v[5001];





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