Cod sursa(job #1347777)

Utilizator razvan_milicinMilicin Razvan razvan_milicin Data 19 februarie 2015 11:03:12
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>
using namespace std;
ifstream in ("rucsac.in");
ofstream out ("rucsac.out");
int main ()
{
	int n,g,i,j,max=0,w,p,gmax=0,v[10001];
	in >>n>>g;
	for (j=1;j<=g;j++)
		v[j]=-1;
	v[0]=0;
	for (i=1;i<=n;i++)
	{
		in>>w>>p;
		for (j=gmax;j>=0;j--)
			{
				if (v[j]!=-1&&j+w<=g&&v[j+w]<v[j]+p)
					{
						v[j+w]=v[j]+p;
						if (v[j+w]>max)
							max=v[j+w];
            if (j+w>gmax)
              gmax=j+w;
					}
			}
	}
	out <<max;
	return 0;
}