Cod sursa(job #2824566)

Utilizator StefanSanStanescu Stefan StefanSan Data 2 ianuarie 2022 17:42:58
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.45 kb
#include <fstream>

using namespace std;

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

int n, g, wt[5001], val[5001], dp[10001], aux;

int main(){

	in >> n >> g;

	for (int i = 0; i < n; i++) {
		in >> wt[i] >> val[i];
		if (wt[i] == 0) {
			aux += val[i];
		}
		else {
			for (int w = g - wt[i]; w >= 0; w--) {
				dp[w + wt[i]] = max(dp[w + wt[i]], dp[w] + val[i]);
			}
		}
	}

	out << dp[g] + aux;

    return 0;
}