Pagini recente » Cod sursa (job #1813025) | Cod sursa (job #2506890) | Cod sursa (job #1632583) | Cod sursa (job #3278843) | Cod sursa (job #2393249)
#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];
}
}
}
/*for (i=1; i<=g; i++)
{
cout << rasp[i] << " ";
}*/
out << rasp[g];
return 0;
}