Pagini recente » Cod sursa (job #1703718) | Cod sursa (job #1000426) | Cod sursa (job #150432) | Cod sursa (job #2629300) | Cod sursa (job #3038686)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 5002;
const int GMAX = 10002;
int n,g,w,p,dp[GMAX];
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int main()
{
fin >> n >> g;
memset(dp, -1, sizeof(dp));
dp[0] = 0;
for(int i = 1; i <= n; i++){
fin >> w >> p;
for(int adaos = g-w; adaos >= 0; adaos--){
if(dp[adaos] != -1){
dp[w+adaos] = max(dp[w+adaos], dp[adaos]+p);
}
}
}
int ans = 0;
for(int i = 1; i <= g; i++){
ans = max(ans, dp[i]);
}
fout << ans;
return 0;
}