Cod sursa(job #643443)

Utilizator alex_mircescuAlex Mircescu alex_mircescu Data 3 decembrie 2011 18:21:15
Problema Problema rucsacului Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <fstream>
#include <algorithm>

using namespace std;

long X, Y, n, i, j, w, p, d[20010], g;

int main() {
	ifstream f("rucsac.in");
	ofstream h("rucsac.out");
	
	f>>n>>g;
	for (i = 1; i <= n; ++i) {
		f>>w>>p;
		for (j = X; j >= 1; --j) 
			if (d[j]) d[j + w] = max(d[j + w], d[j] + p), 
				X = max(X, j + w);
			
		d[w] = max(d[w], p);
		X = max(X, w);
	}
	for (i = 1; i <= g; ++i) Y = max(Y, d[i]);
	h<<Y;
	return 0;
}