Pagini recente » Cod sursa (job #1210145) | Cod sursa (job #478841) | Cod sursa (job #2677069) | Cod sursa (job #1194403) | Cod sursa (job #2060948)
#include <iostream>
#include <fstream>
using namespace std;
#define nmax 5010
ifstream f("rucsac.in")
ofstream g("rucsac.out");
int n,smax,gmax,g[nmax],v[nmax],dp[2][nmax];
int main()
{
cin>>n>>gmax;
for (int i=1; i<=n; ++i)
cin>>g[i]>>v[i];
for (int i=1; i<=n; ++i)
{
for (int j=0; j<=gmax; ++j)
if (g[i]>j)
dp[1][j]=dp[0][j];
else
dp[1][j]=max(dp[0][j],dp[0][j-g[i]]+v[i]);
for (int z=0; z<=gmax; ++z)
dp[0][z]=dp[1][z];
}
cout<<dp[0][gmax];
return 0;
}