Cod sursa(job #1450398)
Utilizator | Data | 13 iunie 2015 11:24:33 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 35 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
#include <fstream>
#include <algorithm>
#define NMAX 5001
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int dp[NMAX][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][j]=dp[i-1][j];
if (j>=gr)
dp[i][j]=max(dp[i][j],dp[i-1][j-gr]+cost);
}
}
g<<dp[n][G];
return 0;
}