01 backpack
cin>>n>>m;
for(int i=0;i<n;i++)
{
cin>>w[i]>>v[i];
}
int ans=0;
for(int i=0;i<n;i++)
{
for(int j=m;j>=0;j--)
{
if(j>=w[i])
dp[j]=max(dp[j],dp[j-w[i]]+v[i]);
ans=max(ans,dp[j]);
}
}
cout<<ans;
01 backpack
cin>>n>>m;
for(int i=0;i<n;i++)
{
cin>>w[i]>>v[i];
}
int ans=0;
for(int i=0;i<n;i++)
{
for(int j=m;j>=0;j--)
{
if(j>=w[i])
dp[j]=max(dp[j],dp[j-w[i]]+v[i]);
ans=max(ans,dp[j]);
}
}
cout<<ans;