Pagini recente » Cod sursa (job #2083242) | Cod sursa (job #1696731) | Cod sursa (job #448684) | Cod sursa (job #2038451) | Cod sursa (job #2393253)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
const int dim = 5005;
int n,w[dim],p[dim],rasp[10005],g;
int main()
{
int i,j;
in >> n >> g;
for (i=1; i<=n; i++)
{
in >> w[i] >> p[i];
}
for (i=1; i<=g; i++)
{
rasp[i] = -1;
}
rasp[0] = 0;
for (i=1; i<=n; i++)
{
for (j=g; j>=w[i]; j--)
{
if (rasp[j-w[i]] != -1 && rasp[j] < rasp[j-w[i]] + p[i])
{
rasp[j] = rasp[j-w[i]] + p[i];
}
}
}
int maxi = -1;
for (i=1; i<=g; i++)
{
maxi = max(maxi,rasp[i]);
//cout << rasp[i] << " ";
}
out << maxi;
return 0;
}