Cod sursa(job #1843430)

Utilizator igroitaGroita Igor igroita Data 8 ianuarie 2017 18:32:25
Problema Problema rucsacului Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include<fstream>
#include<algorithm>
using namespace std;

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

int n, g, w[5005], p[5005];
long long dp[5005][10005];

int main(){
	cin>>n>>g;
	for(int i=1; i<=n; ++i) cin>>w[i]>>p[i];
	
	
	for(int i=1; i<=n;++i){
		for(int j=1; j<=g; ++j){
				if(w[i]>j) dp[i][j]=dp[i-1][j];
				else dp[i][j]=max(dp[i-1][j], dp[i-1][j-w[i]]+p[i]);
		}
	}
	
	cout<<dp[n][g];

	
	
	return 0;
}