Pagini recente » Cod sursa (job #304681) | Cod sursa (job #2129886) | Cod sursa (job #638676) | Cod sursa (job #2830478) | Cod sursa (job #1467352)
// Problema rucsacului - rezolvare cu matrice de costuri
#include <fstream>
#include <cstring>
#include <iostream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int a[10001], g, n, i, j;
int w[5001], p[5001];
int maxim;
int main()
{
fin >> n >> g;
for (i = 1; i <= n; i++)
fin >> w[i] >> p[i];
for (i = 1; i <= n; i++)
for (j = g-w[i]; j >= 0; j--)
{
if (a[j+w[i]] < a[j]+p[i])
a[j+w[i]] = a[j]+p[i];
if (maxim < a[j+w[i]])
maxim = a[j+w[i]];
}
fout << maxim;
return 0;
}