Pagini recente » Diferente pentru planificare/sedinta-20091103 intre reviziile 16 si 21 | Istoria paginii utilizator/badea_adi1999 | avram_simulare_2 | Diferente pentru utilizator/djok intre reviziile 103 si 141 | Cod sursa (job #1001497)
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int gmax,pmax,i,nr,gg[10000000],pp[10000000],h,hp,hg,n;
int main()
{
f>>n>>gmax;pmax=0;nr=0;
for(h=1;h<=n;++h)
{
f>>hg>>hp;
for(i=nr;i>=1;--i)
if(gg[i]+hg<=gmax && gg[i]>0) {gg[++nr]=gg[i]+hg;pp[nr]=pp[i]+hp;}
gg[++nr]=hg;
pp[nr]=hp;
}
for(i=1;i<=nr;++i) if(pp[i]>pmax) pmax=pp[i];
g<<pmax<<'\n';
return 0;
}