Cod sursa(job #1021301)
| Utilizator | Data | 3 noiembrie 2013 16:56:31 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 65 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include <cstdio>
#define Gmax 10005
using namespace std;
int main() {
int N, W, g, p, sol;
int i, j, v[Gmax];
sol = 0;
v[0] = 0;
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
scanf("%d %d", &N, &W);
for (i = 1; i <= N; ++i) {
scanf("%d %d", &g, &p);
for (j = W-g; j >= 0; --j) {
if (v[j+g] < v[j]+p) {
v[j+g] = v[j]+p;
if (v[j+g] > sol)
sol = v[j+g];
}
}
}
printf("%d", sol);
return 0;
}
