Cod sursa(job #2749840)

Utilizator GheorgheBBalamatiuc Gheorghe GheorgheB Data 8 mai 2021 14:59:50
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.43 kb
#include <fstream>
#define ll long long int
using namespace std;

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

ll n, W, dp1[10001], dp2[10001];

int main(){ 
	fin >> n >> W;
	for(int i=1; i<=n; i++){
		ll w, v;
		fin >> w >> v;
		for(int j=1; j<=W; j++){
			dp2[j] = dp1[j];
			if(w <= j)
				dp2[j] = max(dp2[j], dp1[j - w] + v);
		}
		for(int k=1; k<=W; k++)
			dp1[k] = dp2[k];
	}
	fout << dp2[W];
}