Cod sursa(job #1450399)
| Utilizator | Data | 13 iunie 2015 11:27:35 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.52 kb |
#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;
}
