Cod sursa(job #696082)

Utilizator soriynSorin Rita soriyn Data 28 februarie 2012 16:39:44
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include<fstream>
#include<string.h>
#define maxg 10005

using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
int n,g;
int maxim=0;
int G[maxg];

void read()
{
	int w,p;
	in>>n>>g;
	for(int i=1;i<=g;i++)
		G[i]=-1;
	G[0]=0;
	for(int i=1;i<=n;i++)
	{
		in>>w>>p;
		for(int i=g-w;i>=0;i--)
		{
			if(G[i]!=-1 && G[i]+p>G[w+i])
				{G[w+i]=G[i]+p;
			    if(G[w+i]>maxim) maxim=G[w+i];
				}
		}
	}
}

int main()
{
	read();
	out<<maxim;
}