Pagini recente » Cod sursa (job #320334) | Cod sursa (job #249001) | Cod sursa (job #2508350) | Cod sursa (job #2578953) | Cod sursa (job #695191)
Cod sursa(job #695191)
#include <cstdio>
struct {long g; long val;} a[5001];
long i, j, sol, N, G, b[10001];
inline int maxim(long x, long y) {
return (x>y)?x:y;
}
int main() {
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
scanf("%ld %ld", &N, &G);
for (i = 1; i <= N; ++i) {
scanf("%ld %ld", &a[i].g, &a[i].val);
}
for (i = 1; i <= N; ++i) {
for (j = G-a[i].g; j >= 0; --j) {
if (b[j + a[i].g] < b[j] + a[i].val) {
b[j+a[i].g] = b[j] + a[i].val;
if ( b[j+a[i].g] > sol) {
sol = b[j+a[i].g];
}
}
}
}
printf("%ld\n", sol);
return 0;
}