Cod sursa(job #2189702)

Utilizator rrobertBulgaru Robert rrobert Data 28 martie 2018 20:55:34
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <fstream>
#include <iostream>
using namespace std;

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

int p[50001];
int w[50001];
int d[100001];

int N,G;

int max(int a,int b) {
	return a>b?a:b;
}

int main() {
	in>>N>>G;

	for (int i=0;i<N;i++) 
		in>>w[i]>>p[i];

	d[0]=0;
	for (int i=0;i<N;i++) 
		for (int g=G;g>=0;g--)
			if (g-w[i]>=0)
				d[g]=max(d[g],d[g-w[i]]+p[i]);
		
	out<<d[G];

	in.close();
	out.close();
	return 0;
}