Pagini recente » Cod sursa (job #1997217) | Cod sursa (job #960281) | Cod sursa (job #3214830) | Cod sursa (job #2465994) | Cod sursa (job #2265294)
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n,gmax,i,w[5003],p[5003],D[3][10005],maxi,cw;
int main()
{
f>>n>>gmax;
for(i=1;i<=n;i++) f>>w[i]>>p[i];
for(i=1;i<=n;i++)
{ for(cw=1;cw<=gmax;cw++)
{ if(cw-w[i]>=0) D[2][cw] = max(D[1][cw],D[1][cw-w[i]]+p[i]);
else D[2][cw] = D[1][cw];
maxi = max(D[2][cw],maxi);
}
for(cw=1;cw<=gmax;cw++) D[1][cw] = D[2][cw];
}
g<<maxi<<'\n';
return 0;
}