Pagini recente » Cod sursa (job #508815) | Cod sursa (job #341501) | Cod sursa (job #964318) | Cod sursa (job #2408324) | Cod sursa (job #3268342)
#include <iostream>
#include <fstream>
#define nl '\n'
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
const int GMAX = 1e4+5;
int N, G, dp[2][GMAX], ok, ans;
int main()
{
fin >> N >> G;
for (int i = 1; i <= N; i++)
{
int w, p;
fin >> w >> p;
ok = 1-ok;
for (int j = w; j <= G; j++)
dp[ok][j] = max(dp[1-ok][j], dp[1-ok][j-w]+p);
}
for (int i = 1; i <= G; i++)
ans = max(ans, dp[ok][i]);
fout << ans;
return 0;
}