Cod sursa(job #1668232)

Utilizator krityxAdrian Buzea krityx Data 29 martie 2016 17:31:48
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>
#include <vector>
#include <algorithm>
#define NMAX 300001
using namespace std;

int sol[3001];
int main()
{
	int n, maxG, x, y;
	int g[NMAX], p[NMAX];
	ifstream f("ruksak.in");
	f >> n >> maxG;
	for (int i = 1; i <= n; i++)
	{
		f >> g[i] >> p[i];
	}
	f.close();
	int k, c;
	for (int i = 1; i <= n; i++)
	{
		for (int j = maxG - g[i]; j >= 0; j--)
		{
			sol[j + g[i]] = max(sol[j + g[i]], sol[j] + p[i]);
		}
	}


	ofstream gout("ruksak.out");
	gout << sol[maxG];
	gout.close();
	return 0;
}