Cod sursa(job #2941928)

Utilizator NiffSniffCojocaru Calin Marcu NiffSniff Data 18 noiembrie 2022 15:56:55
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
using namespace std;
string file = "rucsac";
ifstream cin (file + ".in");
ofstream cout (file + ".out");
const int N = 5001;

struct marfuri{
	int g;
	int p;
} v[N];
int n,k, profit[N*2];
void citire()
{
	cin >> n >> k;
	for (int i=0; i<n; i++)
	{
		cin >> v[i].g >> v[i].p;
	}
}
int main ()
{
	citire();
	for (int j=1; j<=k; j++)
		profit[j] = -1;
	
	for (int i=0; i<n; i++)
	{
		for (int j=k-v[i].g; j>=0; j--)
		{
			profit[j+v[i].g] = max(profit[j+v[i].g], profit[j] + v[i].p);
		}
	}
	int maxim = 0;
	for (int j=k; j; j--)
		maxim = max(maxim,profit[j]);
	cout << maxim;
}