Pagini recente » Cod sursa (job #1056882) | Cod sursa (job #1336322) | Cod sursa (job #3264535) | Cod sursa (job #805676) | Cod sursa (job #2767816)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n, g, w, p;
int dp[2][10005];
int main()
{
bool var = 1;
fin >> n >> g;
for(int i = 1; i <= n; i++)
{
fin >> w >> p;
for(int j = 0; j <= g; j++)
{
dp[var][j] = dp[1-var][j];
if(j >= w)
{
dp[var][j] = max(dp[var][j], dp[1-var][j-w] + p);
}
}
var = 1 - var;
}
var = 1 - var;
fout << dp[var][g];
return 0;
}