Cod sursa(job #880852)

Utilizator tudorv96Tudor Varan tudorv96 Data 17 februarie 2013 14:00:54
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>
#include <cstring>

using namespace std;

struct rucsac {
	int g, v;
} o;
int g[10005], n, G;

int main ()
{
	ifstream fin ("rucsac.in");
	fin >> n >> G;
	memset (g, -1, sizeof(g));
	g[0] = 0;
	for (int i = 0; i < n; ++i)
	{
		fin >> o.g >> o.v;
		for (int j = G - o.g; j >= 0; --j)
			if (g[j] != -1 && g[j+o.g] < g[j] + o.v)
				g[j+o.g] = g[j] + o.v;
	}
	fin.close ();
	int aux = G;
	while (g[aux] == -1)
		aux--;
	ofstream fout ("rucsac.out");
	fout << g[aux];
	fout.close ();
	return 0;
}