Pagini recente » Cod sursa (job #448970) | Cod sursa (job #2364893) | Cod sursa (job #28943) | Cod sursa (job #1207448) | Cod sursa (job #2384876)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");
int dp[10005];
int main()
{
int n, g;
fin >> n >> g;
for (int j = 0; j < n; j ++) {
int w, p;
fin >> w >> p;
for (int i = g; i > 0; i --) {
if (i - w > 0 && dp[i - w] != 0) dp[i] = max(dp[i], dp[i - w] + p);
if (i == w) dp[i] = max(dp[i], p);
}
}
int maxim = 0;
for (int i = 1; i <= g; i ++) {
if (dp[i] > maxim) maxim = dp[i];
}
fout << maxim;
return 0;
}