Pagini recente » Cod sursa (job #2533349) | Cod sursa (job #886241) | Cod sursa (job #550413) | Cod sursa (job #2661706) | Cod sursa (job #2957823)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
unsigned int g, n, dp[50001][10001], p[5001], w[5001];
int main(){
fin >> n >> g;
for(int i=1; i<=n; i++){
fin >> w[i] >> p[i];
}
dp[1][w[1]]=p[1];
for(int i=2; i<=n; i++){
for(int cw=1; cw<=g; cw++){
if(cw-w[i]>=0){
dp[i][cw]=max(dp[i-1][cw], dp[i-1][cw-w[i]]+p[i]);
}else{
dp[i][cw]=dp[i-1][cw];
}
}
}
fout << dp[n][g];
}