Pagini recente » Cod sursa (job #2033350) | Cod sursa (job #893241) | Cod sursa (job #2588460) | Rating Balan Tudor Cristian (balantudor478) | Cod sursa (job #3134902)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int main()
{
int G, N;
fin >> N >> G;
int g[500], p[500];
for (int i = 0; i < N; i++)
{
fin >> g[i] >> p[i];
}
int arr[500][500];
for (int i = 0; i <= N + 1; i++)
{
for (int j = 0; j <= G + 1; j++)
{
if (i == 0 || j == 0)
{
arr[i][j] = 0;
}
if (j < g[i - 1])
{
arr[i][j] = arr[i - 1][j];
}
else
{
arr[i][j] = max(arr[i - 1][j], arr[i - 1][j - g[i - 1]] + p[i - 1]);
}
}
}
fout << arr[N][G] << endl;
return 0;
}