Pagini recente » Cod sursa (job #1868401) | Cod sursa (job #220972) | Cod sursa (job #2696033) | Cod sursa (job #2563442) | Cod sursa (job #1512659)
#include <cstdio>
#include <algorithm>
using namespace std;
int dp[10001], G[5001], P[5001];
int main() {
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
int n, g;
scanf("%d%d", &n, &g);
for(int i = 1; i <= n; ++ i) {
scanf("%d%d", &G[i], &P[i]);
}
for(int i = 1; i <= n; ++ i) {
for(int j = g; j >= 0; -- j) {
if(j - G[i] >= 0) {
dp[j] = max(dp[j], dp[j - G[i]] + P[i]);
}
}
}
printf("%d", dp[g]);
return 0;
}