Pagini recente » Cod sursa (job #2726808) | Cod sursa (job #1745407) | Cod sursa (job #928829) | Cod sursa (job #1134770) | Cod sursa (job #1814542)
#include <iostream>
#include <fstream>
#define NMAX 5005
#define GMAX 10005
using namespace std;
ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");
int opt[2][GMAX], val[GMAX];
int main ()
{
int n, v;
fin >> n >> v;
for (int i = 0; i <= 1; ++i) {
for (int j = 1; j <= v; ++j) {
opt[i][j] = -1;
}
}
int maxn = 0;
for (int i = 1; i <= n; ++i) {
int x, y;
fin >> x >> y;
for (int j = 0; j <= v; ++j) {
if (j >= x && opt[(i-1)%2][j-x] != -1) {
opt[i%2][j] = opt[(i-1)%2][j-x] + y;
}
opt[i%2][j] = max(opt[i%2][j],opt[(i-1)%2][j]);
if (opt[i%2][j]) {
maxn = opt[i%2][j];
}
}
}
fout << maxn;
/*for (int i = 0; i <= 1; ++i) {
for (int j = 1; j <= v; ++j) {
cout << opt[i][j] << " ";
}
cout << endl;
}*/
return 0;
}