Cod sursa(job #3233569)

Utilizator AndreasBossGamerBaragau Andreas AndreasBossGamer Data 3 iunie 2024 20:22:10
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#include <vector>

using namespace std;

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

int n, w;
vector<int> greutate, valoare;
vector<int> dp;

int main()
{
	cin >> n >> w;
	dp.resize(w + 1), greutate.resize(n + 1), valoare.resize(n + 1);
	for (int i = 1; i <= n; i++)
	{
		cin >> greutate[i] >> valoare[i];
	}

	int sol = -1;
	for (int i = 1; i <= n; i++)
	{
		for (int j = w - greutate[i]; j >= 0; j--)
		{
			dp[j + greutate[i]] = max(dp[j] + valoare[i], dp[j + greutate[i]]);
			sol = max(sol, dp[j + greutate[i]]);
		}
	}
	cout << sol;
}