Cod sursa(job #751041)

Utilizator Marius96Marius Gavrilescu Marius96 Data 23 mai 2012 23:25:51
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include<cstdio>
#include<algorithm>
using std::max;
int d[10005];
int w[5005];
int p[5005];

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