Cod sursa(job #2414956)
| Utilizator | Data | 25 aprilie 2019 12:52:12 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
const int GMAX = 10000;
const int NMAX = 5000;
int N, G;
int w[NMAX + 5], p[NMAX + 5];
int dp[GMAX + 5];
int main()
{
fin >> N >> G;
for(int i = 1; i <= N; i++)
fin >> w[i] >> p[i];
for(int i = 1; i <= N; i++)
for(int g = G; g >= w[i]; g--)
dp[g] = max(dp[g], p[i] + dp[g - w[i]]);
fout << dp[G] << '\n';
return 0;
}
