Pagini recente » Cod sursa (job #863853) | Cod sursa (job #1958897) | Cod sursa (job #588375) | Cod sursa (job #1442887) | Cod sursa (job #2951747)
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n, gr[5001], c[5001], castig[10001], maxim = -1, g;
int main()
{
int i, j;
fin >> n >> g;
for (i = 1; i <= n; i++)
fin >> gr[i] >> c[i];
for (i = 1; i <= n; i++)
for (j = g - gr[i]; j >= 0; j--) {
if (castig[j + gr[i]] < castig[j] + c[i]) {
castig[j + gr[i]] = castig[j] + c[i];
if (castig[j + gr[i]] > maxim)
maxim = castig[j + gr[i]];
}
}
fout << maxim;
return 0;
}