Pagini recente » Cod sursa (job #358188) | Cod sursa (job #2338305) | Cod sursa (job #2700824) | Cod sursa (job #1446868) | Cod sursa (job #3134955)
#include <bits/stdc++.h>
using namespace std;
int rez[10000];
int main()
{
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int G, N;
fin >> N >> G;
int w[5000], p[5000];
for (int i = 1; i <= N; i++)
{
fin >> w[i] >> p[i];
}
// fiecare profit din matrice
// for (int i = 1; i <= N; i++)
// {
// for (int j = 1; j <= G; j++)
// {
// if (j < w[i - 1])
// {
// arr[i][j] = arr[i - 1][j];
// }
// else
// {
// arr[i][j] = max(arr[i - 1][j], arr[i - 1][j - w[i - 1]] + p[i - 1]);
// }
// }
// }
//---o linie
for (int i = 1; i <= N; i++)
{
for (int j = G; j >= w[i]; j--)
{
if (j < w[i - 1])
{
rez[j] = rez[j];
}
else
{
rez[j] = max(rez[j], rez[j - w[i]] + p[i]);
}
}
}
fout << rez[G] << endl;
return 0;
}