Cod sursa(job #2869302)

Utilizator LacatusLacatus Catalin-Petru Lacatus Data 11 martie 2022 13:50:42
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include<iostream>
#include<fstream>

using namespace std;

int nr_obiecte, greutate_maxima, greutate[10001], profit[10001], dp[2][10001], curent, ant;

int main() {
    ifstream f("rucsac.in");
    ofstream g("rucsac.out");

	f >> nr_obiecte >> greutate_maxima;

	for (int i = 1; i <= nr_obiecte; i++)
		f >> greutate[i] >> profit[i];

	for (int i = 1; i <= nr_obiecte; i++)
		{   curent = i % 2;
		    ant = 1 - curent;
		    for (int j = 1; j <= greutate_maxima; j++)
                if(greutate[i]<=j)
                    dp[curent][j] = max(dp[ant][j], dp[ant][j - greutate[i]] + profit[i]);
                else
                    dp[curent][j] = dp[ant][j];
		}

		g<< dp[curent][greutate_maxima];
	return 0;
}