Cod sursa(job #2444410)

Utilizator TheGodFather2131Alexandru Miclea TheGodFather2131 Data 31 iulie 2019 15:07:20
Problema Problema rucsacului Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
//ALEXANDRU MICLEA

#include <vector>
#include <string>
#include <algorithm>
#include <queue>
#include <map>
#include <set>
#include <unordered_map>
#include <time.h>
#include <iomanip>
#include <deque>
#include <math.h>
#include <cmath>
#include <assert.h>
#include <stack>
#include <bitset>
#include <random>
#include <chrono>

using namespace std;

#include <fstream>
ifstream cin("rucsac.in"); ofstream cout("rucsac.out");

int w[10005], p[5005];
int d[5005][10005];

int main() {

	int N, G;
	cin >> N >> G;

	for (int i = 1; i <= N; i++) {
		cin >> w[i] >> p[i];
		for (int j = 0; j <= G; j++) {
			d[i][j] = d[i - 1][j];

			if (w[i] <= j) {
				d[i][j] = max(d[i][j], d[i - 1][j - w[i]] + p[i]);
			}
		}
	}

	cout << d[N][G];

	return 0;
}