Pagini recente » Cod sursa (job #1235222) | Cod sursa (job #1247738) | Cod sursa (job #1996849) | Cod sursa (job #721700) | Cod sursa (job #2216193)
#include <bits/stdc++.h>
#define fs fscanf
#define fp fprintf
using namespace std;
FILE *f, *g;
struct object
{
int w, p; // weight, profit
}v[5005];
int n, gr, i;
int d[2][10005], cw;
int main()
{
f = fopen("rucsac.in", "r");
g = fopen("rucsac.out", "w");
fs(f, "%d%d", &n, &gr);
for(i = 1; i <= n; i ++)
{
fs(f, "%d%d", &v[i].w, &v[i].p);
}
for(i = 1; i <= n; i ++)
{
for(cw = 1; cw <= gr; cw ++)
{
d[0][cw] = d[1][cw];
if(v[i].w <= cw)
d[1][cw] = max(d[0][cw], d[0][cw-v[i].w] + v[i].p);
//cout << d[1][cw] << ' ';
}
//cout << '\n';
}
fp(g, "%d\n", d[1][gr]);
fclose(f);
fclose(g);
return 0;
}