Pagini recente » Cod sursa (job #2813715) | Cod sursa (job #1951380) | Cod sursa (job #1076397) | Cod sursa (job #1695984) | Cod sursa (job #1736240)
#include <fstream>
#include <iostream>
using namespace std;
int main() {
int W[100], P[100];
ifstream infile;
infile.open("rucsac.in");
ofstream outfile;
outfile.open("rucsac.out");
int N, G, max = 0;
infile >> N >> G;
int Din[G + 1];
for (int i = 0; i <= G; i ++)
Din[i] = 0;
for (int i = 0; i < N; i ++)
infile >> &W[i] >> &P[i];
for (int i = 0; i <= G; i ++)
for (int j = 0; j < N; j ++)
if (i + W[j] <= G && Din[i + W[j]] < Din[i] + P[j])
Din[i + W[j]] = Din[i] + P[j];
for (int i = 0; i <= G; i ++)
if (Din[i] > max)
max = Din[i];
outfile << max << endl;
return 0;
}