Pagini recente » Borderou de evaluare (job #209969) | Cod sursa (job #2966327) | Cod sursa (job #2348172) | Cod sursa (job #3215304) | Cod sursa (job #1450399)
#include <fstream>
#include <algorithm>
#define NMAX 10001
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int dp[2][NMAX], i, j, n, m, G, cost, gr, best;
int main()
{
f>>n>>G;
for (i=1; i<=n; ++i)
{
f>>gr>>cost;
for (j=0; j<=G; ++j)
{
dp[i%2][j]=dp[(i+1)%2][j];
if (j>=gr)
dp[i%2][j]=max(dp[i%2][j],dp[(i+1)%2][j-gr]+cost);
}
}
g<<dp[(i+1)%2][G];
return 0;
}