Cod sursa(job #2378130)
Utilizator | Data | 11 martie 2019 18:30:08 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.57 kb |
#include <fstream>
using namespace std;
ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");
int i, n, j, ofmax, GMAX, cmax[10010], g[5010], c[5010];
int main()
{
fin>>n>>GMAX;
for (i=1; i<=n; i++)
{
fin>>g[i]>>c[i];
}
for (i=n; i>=1; i--)
{
for (j=GMAX-g[i]; j>=0; j--)
{
if (cmax[j]+c[i]>cmax[j+g[i]])
cmax[j+g[i]]=cmax[j]+c[i];
}
}
for (i=1; i<=GMAX; i++)
if (cmax[i]>ofmax)
ofmax=cmax[i];
fout<<ofmax<<'\n';
return 0;
}