Pagini recente » Cod sursa (job #690999) | Cod sursa (job #3271204) | Cod sursa (job #1321786) | Utilizatori inregistrati la preONI 2007, Runda Finala, Clasele 11-12 | Cod sursa (job #2761150)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 5003;
const int GMAX = 10003;
int n, g;
struct obiect {
int w, p;
} v[NMAX];
int dp[GMAX];
int main() {
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
scanf("%d %d", &n, &g);
for (int i = 1; i <= n; i++) {
scanf("%d %d", &v[i].w, &v[i].p);
}
for(int i = 1; i <= g; i++)dp[i] = -1;
for (int i = 1; i <= n; i++) {
for (int j = g; j >= v[i].w; j--) {
if(dp[j-v[i].w] != -1)dp[j] = max(dp[j - v[i].w] + v[i].p, dp[j] );
}
}
printf("%d\n",dp[g]);
return 0;
}