Cod sursa(job #2908165)

Utilizator disinfoion ion disinfo Data 1 iunie 2022 20:56:40
Problema Problema rucsacului Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#include <iostream>
using namespace std;

int knapsack[5001][10001];

int main(){
	ifstream fin;
	ofstream fout;
	fin.open("rucsac.in");
	fout.open("rucsac.out"); 
	int m, n, q, a, b, w;
	int value[5001];
	int weight[5001];


	fin >> n >> w;
	for(int i = 1; i <= n; ++i){
		fin >> weight[i] >> value[i];
	}

	for(int i = 1; i <= n; ++i)
		for(int j = 1; j <= w; ++j){
				knapsack[i][j] = knapsack[i - 1][j];
				if(j >= weight[i])
					knapsack[i][j] = max(knapsack[i - 1][j - weight[i]] + value[i], knapsack[i - 1][j]);
		}

	fout << knapsack[n][w];

}