Pagini recente » Monitorul de evaluare | Cod sursa (job #2719525) | Cod sursa (job #1951725) | Profil caliux | 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;
}