Pagini recente » Cod sursa (job #1951621) | Cod sursa (job #363819) | Cod sursa (job #2144803) | Cod sursa (job #1852017) | Cod sursa (job #1736521)
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> W, P;
ifstream infile;
infile.open("rucsac.in");
ofstream outfile;
outfile.open("rucsac.out");
int N, G, max = 0, val1, val2;
infile >> N >> G;
vector<int> Din(G + 1, 0);
for (int i = 0; i < N; i ++) {
infile >> val1 >> val2;
W.push_back(val1);
P.push_back(val2);
}
for (int i = 0; i < N; i ++)
for (int j = G - W[i]; j >= 0; j --)
if (Din[j + W[i]] < Din[j] + P[i]) {
Din[j + W[i]] = Din[j] + P[i];
if (Din[j + W[i]] > max)
max = Din[j + W[i]];
}
outfile << max << endl;
return 0;
}