Pagini recente » Cod sursa (job #1256308) | Cod sursa (job #2481899) | Cod sursa (job #2039644) | Cod sursa (job #1395168) | Cod sursa (job #856833)
Cod sursa(job #856833)
#include <fstream>
#define Open ifstream f("rucsac.in"); ofstream gg("rucsac.out");
#define Close f.close(); gg.close();
#define Enter gg<<'\n';
#define Tab gg<<'\t';
#define elvis 10000
using namespace std;
int g[elvis];
int main()
{int N,W,k,v,Sol=0;
Open
f>>N>>W;
int i,j;
for(i=0;i<N;++i)
{
f>>k>>v;
for(j=W+1;j>k;--j)
{
if(g[j-k]>0) g[j]=(g[j]<g[j-k]+v) ? g[j-k]+v : g[j];
}
g[k]=(g[k]<v) ? v : g[k];
}
for(i=1;i<=W;++i)
{
if(g[i]>Sol) Sol=g[i];
}
gg<<Sol;
Close
return 0;
}
/*N -nr obiecte
W -greutatea maxim admisa
k -indicele din sir
v -valoarea
g[elvis] -sir de 10000*/