Pagini recente » Cod sursa (job #3314871) | Borderou de evaluare (job #2702418) | Cod sursa (job #3352285) | Borderou de evaluare (job #1681278) | Cod sursa (job #3346907)
#include <fstream>
using namespace std;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
const int nmax=5000, gmax=10000;
int n, g, dp[gmax+5], w[nmax+5], v[nmax+5];
int main()
{
cin>>n>>g;
for(int i=1;i<=n;i++)
cin>>w[i]>>v[i];
for(int i=1;i<=n;i++)
for(int j=g;j>=w[i];j--)
dp[j]=max(dp[j], dp[j-w[i]]+v[i]);
cout<<dp[g];
return 0;
}