Pagini recente » Cod sursa (job #1526197) | Cod sursa (job #2942387) | Cod sursa (job #907189) | Cod sursa (job #406331) | Cod sursa (job #1443196)
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n, g, maxim = (1 << 63), i, j;
int o[10001];
int gr[5001], cst[5001]; // gr[] - greutate; cst[] - castig;
int main()
{
fin >> n >> g;
for (i = 1; i <= n; i++)
fin >> gr[i] >> cst[i];
for (i = 1; i <= n; i++)
for (j = g-gr[i]; j >= 0; j--)
if (o[j+gr[i]] < o[j] + cst[i])
{
o[j+gr[i]] = o[j] + cst[i];
if (maxim < o[j+gr[i]])
maxim = o[j+gr[i]];
}
fout << maxim;
return 0;
}