Pagini recente » Cod sursa (job #3147158) | Cod sursa (job #1103608) | Cod sursa (job #1246876) | Cod sursa (job #1545031) | Cod sursa (job #2300895)
#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[1-l][cw]=g[l][cw];
if(w[i]<=cw)
g[1-l][cw]=std::max(g[1-l][cw],g[l][cw-w[i]]+val[i]);
}
cout<<g[l][weight];
}