Cod sursa(job #741132)

Utilizator PavelPavel Ana-Oriana Pavel Data 25 aprilie 2012 15:16:50
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include<fstream>

using namespace std;

ifstream in("rucsac.in");
ofstream out("rucsac.out");

const int N = 5001;

int g[N],p[N],v[10001];

int main()
{
	int i,j,n,k;
	v[0]=0;
	in>>n>>k;
	for(j=1;j<=n;j++)
		in>>g[j]>>p[j];
	v[0]=0;
	for(j=1;j<=k;j++)
		v[j]=-1;
	for(i=1;i<=n;i++)
		for(j=k-g[i];j>=0;j--)
			if(v[j]!=-1 && v[j]+p[i]>v[j+g[i]])
				v[j+g[i]]=v[j]+p[i];
	int max = 0;
	for(j=1 ; j<=k ; j++)
		if(v[j] > max)
			max = v[j];
	out<<max<<'\n';
	return 0;
}