Cod sursa(job #2814208)

Utilizator sireanu_vladSireanu Vlad sireanu_vlad Data 7 decembrie 2021 19:06:43
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 w[5001], p[5001], dp[2][10001];

int main()
{
	int n, g;
	in >> n >> g;
	for(int i = 1; i <= n; i++)
	{
		in >> w[i] >> p[i];
		for(int j = 1; j <= g; j++)
		{
			if(j >= w[i])
				dp[i & 1][j] = max(dp[(i&1)^1][j], dp[(i&1)^1][j - w[i]] + p[i]);
			else
				dp[i & 1][j] = dp[(i&1)^1][j];
		}
	}
	out << dp[n&1][g];
	return 0;
}