Pagini recente » Cod sursa (job #1518401) | Cod sursa (job #819509)
Cod sursa(job #819509)
#include <fstream>
using namespace std;
int n,gmax,g[5004],c[5004],cmax[10000],uz[1000][1000];
int i,G;
int main()
{
ifstream f("rucsac.in");
ofstream fout("rucsac.out");
f>>n>>gmax;
for (i=0;i<n;i++)
f>>g[i];
for (i=0;i<n;i++)
f>>c[i];
int max=0,imax;
for (G=1;G<=gmax;G++)
{
max=cmax[G-1];
for (i=0;i<n;i++)
{
if (g[i]<=G && c[i]+cmax[G-g[i]]>max && uz[G-g[i]][i]==0)
{
max=c[i]+cmax[G-g[i]];
imax=i;
}
}
cmax[G]=max;
if (max>cmax[G-1])
uz[G][imax]=1;
}
fout<<cmax[gmax]<<'\n';
f.close();
fout.close();
return 0;
}