Cod sursa(job #675558)

Utilizator iulynaCretu Irina iulyna Data 7 februarie 2012 19:18:47
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<iostream>
#include<fstream>
using namespace std;
int n,g,pr[5005],gr[5005],x[10001],y[10001];
void copie()
{
	int i;
	for(i=1;i<=g;i++)
		x[i]=y[i];
}
int main()
{
	freopen("rucsac.in","r",stdin);
	freopen("rucsac.out","w",stdout);
	scanf("%d%d",&n,&g);
	int i,j;
	for(i=1;i<=n;i++)
		scanf("%d%d",&gr[i],&pr[i]);
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=g;j++)
		{
			if(gr[i]>j)
				y[j]=x[j];
			else
				y[j]=max(x[j],x[j-gr[i]]+pr[i]);
		}
		copie();
	}
	printf("%d",y[g]);

	return 0;
}