Pagini recente » Cod sursa (job #1737511) | Cod sursa (job #888164) | Cod sursa (job #1696639) | Cod sursa (job #2824803) | Cod sursa (job #2767815)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n, g, w, p;
int dp[2][1005];
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;
}