Pagini recente » Cod sursa (job #861978) | Cod sursa (job #445587) | Profil castiel15 | Cod sursa (job #2966363) | Cod sursa (job #782710)
Cod sursa(job #782710)
#include <iostream>
#include <fstream>
#include <vector>
#define MAX(a, b) a > b ? a : b
using namespace std;
int n, g;
vector< pair<int, int> > objects;
int function()
{
int matrix[n + 1][g + 1];
for(int i = 0; i <= n; i++)
{
for(int j = 0; j <= g; j++)
{
if(i == 0 || j == 0 )
{
matrix[i][j] = 0;
}
else
{
int tmp = matrix[i - 1][j - objects[i - 1].first] + objects[i - 1].second;
matrix[i][j] = MAX(matrix[i - 1][j], tmp);
}
}
}
return matrix[n][g];
}
int main()
{
ifstream in ("rucsac.in");
ofstream out ("rucsac.out");
in >> n >> g;
for(int i = 0; i < n; i++)
{
int og, ov;
in >> og >> ov;
objects.push_back(pair<int, int> (og, ov));
}
out << function();
in.close();
out.close();
return 0;
}