Pagini recente » Cod sursa (job #1665918) | Cod sursa (job #674985) | Cod sursa (job #295082) | Cod sursa (job #2798503) | Cod sursa (job #3223092)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
struct
{
int gr, pr;
} ob[5001];
int n, g, i, j, dp[10001], pmax;
int main()
{
fin >> n >> g;
for(i = 1; i <= n; i++)
{
fin >> ob[i].gr >> ob[i].pr;
}
for(i = 1; i <= n; i++)
{
/*
cout << "pas " << i << '\n';
for(j = 0; j <= g; j++)
{
cout << dp[i % 2][j] << ' ';
}
cout << '\n';
for(j = 0; j <= g; j++)
{
cout << dp[1 - i % 2][j] << ' ';
}*/
for(j = g; j >= ob[i].gr; j--)
{
dp[j] = max(dp[j - ob[i].gr] + ob[i].pr, dp[j]);
}
}
for(j = 0; j <= g; j++)
{
pmax = max(pmax, dp[j]);
}
fout << pmax;
return 0;
}