Pagini recente » Cod sursa (job #1198566) | Cod sursa (job #1522755) | Cod sursa (job #1718557) | Cod sursa (job #2158835) | Cod sursa (job #2684954)
#include <fstream>
using namespace std;
const int G = 10001;
int profit[G];
int main() {
ifstream in("rucsac.in");
ofstream out("rucsac.out");
int n, g, w, p, rez = 0;
in >> n >> g;
for (int i = 1; i <= g; ++i)
profit[i] = -1;
while (n--) {
in >> w >> p;
for (int i = g - w; i >= 0; --i)
if (profit[i] != -1 && profit[i + w] < profit[i] + p) {
profit[i + w] = profit[i] + p;
rez = max(rez, profit[i + w]);
}
}
out << rez;
in.close();
out.close();
return 0;
}