Cod sursa(job #2214245)

Utilizator AlexPascu007Pascu Ionut Alexandru AlexPascu007 Data 18 iunie 2018 16:47:26
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n,G,g[5010],p[5010],d[10010],i,j,maxim;
int main() {
	fin>>n>>G;
	for (i=1;i<=n;i++) {
		fin>>g[i]>>p[i];
	}
	d[0]=1;
	for (i=1;i<=n;i++) {
		for (j=G;j>=0;j--) {
			if (d[j]!=0&&j+g[i]<=G) {
				d[j+g[i]]=max(d[j+g[i]],d[j]+p[i]);
			}
		}
	}
	for (i=0;i<=G;i++)
		maxim=max(maxim,d[i]);
	fout<<maxim-1;
	return 0;
}