Pagini recente » Cod sursa (job #2096580) | Cod sursa (job #2548350) | Cod sursa (job #2783783) | Cod sursa (job #832312) | Cod sursa (job #2300894)
#include <fstream>
std::ifstream cin("rucsac.in");
std::ofstream cout("rucsac.out");
#define maxn 5005
#define maxw 10005
int n,weight;
int w[maxn],val[maxn];
int g[2][maxw];
int main()
{
cin>>n>>weight;
for(int i=0;i<n;++i)
cin>>w[i]>>val[i];
int l=0;
for(int i=1;i<=n;i++,l=1-l)
for(int cw=0;i<=weight;cw++){
g[l-1][cw]=g[l][cw];
if(w[i]<=cw)
g[l-1][cw]=std::max(g[l-1][cw],g[l][cw-w[i]]+val[i]);
}
cout<<g[l][weight];
}