Sample Input
2 11
2 3
6 14
Sample Output
20
#include <bits/stdc++.h>
using namespace std;
const int maxn=50005;
int dp[maxn],v[maxn],c[maxn];
int main()
{
int n,b;
scanf("%d%d",&n,&b);
for(int i=1;i<=n;i++) scanf("%d%d",v+i,c+i);
for(int i=1;i<=n;i++)
{
for(int j=v[i];j<=b;j++)
dp[j]=max(dp[j],dp[j-v[i]]+c[i]);
}
printf("%d",dp[b]);
return 0;
}