Cod sursa(job #2467909)
| Utilizator | Data | 5 octombrie 2019 10:40:45 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include <fstream>
#define NMAX 5009
#define GMAX 10009
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
long long n, pd[GMAX], p[NMAX], w[NMAX], Wmax;
int main()
{
f >> n >> Wmax;
for(int i = 1; i <= n; ++i)
f >> w[i] >> p[i];
for(int i = 1; i <= n; ++i)
for(int j = Wmax - w[i]; j >= 0; --j)
pd[j + w[i]] = max(pd[j + w[i]], pd[j] + p[i]);
g << pd[Wmax];
f.close(); g.close();
return 0;
}
