Cod sursa(job #2467973)

Utilizator danbesuDan Besu danbesu Data 5 octombrie 2019 11:07:59
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include<fstream>
using namespace std;

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

int max(int x, int y) {
	if (x > y)
		return x;
	return y;
}

long long n, g, pd[10009], p[5009], w[5009];

int main() {

	in >> n >> g;;

	for (int i = 1; i <= n; ++i)
		in >> w[i] >> p[i];

	for (int i = 1; i <= n; ++i)
		for (int j = g - w[i]; j >= 0; --j)
			pd[j + w[i]] = max(pd[j + w[i]], pd[j] + p[i]);

	out << pd[g];
	in.close();
	out.close();

	return 0;
}