Cod sursa(job #2445203)

Utilizator CyborgSquirrelJardan Andrei CyborgSquirrel Data 3 august 2019 10:14:53
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

int n, g;
struct ob{
	int w, p;
};

ifstream fin("rucsac.in");
ofstream fout("rucsac.out");

ob obs[5041];
int tab[2][10041];

int main()
{
	fin >> n >> g;
	for(int i = 1; i <= n; i++){
		fin >> obs[i].w >> obs[i].p;
	}
	
	int it = 0;
	for(int i = 1; i <= n; i++){
		ob cob = obs[i];
		for(int w = 1; w <= g; w++){
			if(cob.w <= w){
				tab[it][w] = max(tab[1-it][w-cob.w]+cob.p, tab[1-it][w]);
			}else{
				tab[it][w] = tab[1-it][w];
			}
		}
		it = 1-it;
	}
	fout << tab[1-it][g];
}