Cod sursa(job #2308069)

Utilizator The_one_and_onlyMironica Vasile The_one_and_only Data 26 decembrie 2018 12:32:07
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
using namespace std;

ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
struct item {
	int g, p;
};
int n, g, b[5001][10001];
item a[5001];

void scrie() {
	for(int i=1; i<=n; i++) {
		for(int j=0; j<=g; j++)
			cout<<b[i][j]<<' ';
		cout<<'\n';
	}
}

int main() {
	cin>>n>>g;
	for(int i=1; i<=n; i++) {
		cin>>a[i].g>>a[i].p;
	}
	for(int i=1; i<=n; i++)
		for(int j=1; j<=g; j++)
			if(j<a[i].g)
				b[i][j]=b[i-1][j];
			else
				b[i][j]=max(b[i-1][j], a[i].p+b[i-1][j-a[i].g]);
	scrie();
	return 0;
}