#include<bits/stdc++.h>
using namespace std;
int need[1020],value[1020],dp[100020];
int main()
{
int N,M;
while(scanf("%d%d",&N,&M)==2)
{
memset(dp,0,sizeof(dp));
for(int i=1;i<=N;i++)
scanf("%d%d",&need[i],&value[i]);
for(int i=1;i<=N;i++)
{
for(int j=M;j>=need[i];j--)
dp[j]=max(dp[j],dp[j-need[i]]+value[i]);
}
printf("%d\n",dp[M]);
}
return 0;
}
HiHo 1038 01背包
最新推荐文章于 2020-09-15 17:04:27 发布