Pagini recente » Cod sursa (job #2170400) | Cod sursa (job #898808) | Cod sursa (job #1045929) | Cod sursa (job #2157939) | Cod sursa (job #2414956)
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
const int GMAX = 10000;
const int NMAX = 5000;
int N, G;
int w[NMAX + 5], p[NMAX + 5];
int dp[GMAX + 5];
int main()
{
fin >> N >> G;
for(int i = 1; i <= N; i++)
fin >> w[i] >> p[i];
for(int i = 1; i <= N; i++)
for(int g = G; g >= w[i]; g--)
dp[g] = max(dp[g], p[i] + dp[g - w[i]]);
fout << dp[G] << '\n';
return 0;
}