Pagini recente » Cod sursa (job #2470990) | Cod sursa (job #444375) | Cod sursa (job #3261449) | Cod sursa (job #1639844) | Cod sursa (job #2065982)
#include <fstream>
#include <algorithm>
std::ifstream fin ("rucsac.in");
std::ofstream fout ("rucsac.out");
struct Object{
int g, val;
};
const int MaxN = 5001;
int n, gmax, sol, aux[MaxN * 2];
Object a[MaxN];
int main ()
{
fin >> n >> gmax;
for (int i = 1; i <= n; ++i)
fin >> a[i].g >> a[i].val;
for (int i = 1; i <= n; ++i)
{
for (int j = gmax - a[i].g; j >= 0; --j)
if (aux[j + a[i].g] < aux[j] + a[i].val)
{
aux[j + a[i].g] = aux[j] + a[i].val;
sol = std::max(aux[j + a[i].g], sol);
}
}
fout << sol;
return 0;
}