#include<iostream>
#include<string.h>
using namespace std;
int dp[1010][1010]={0};
int main()
{
int n,v;
int c[1010],w[1010];
int i,j;
while(cin>>n>>v,n || v)
{
memset(dp,0,sizeof(dp));
for(i=1;i<=n;i++)
cin>>c[i]>>w[i];
c[0]=w[0]=0;
for(i=1;i<=n;i++)
for(j=v;j>=0;j--)
{
if(j<c[i])
dp[i][j]=dp[i-1][j];
else
dp[i][j]=max(dp[i-1][j-c[i]]+w[i],dp[i-1][j]);
}
cout<<dp[n][v]<<endl;
}
return 0;
}
苹果
最新推荐文章于 2023-12-01 13:23:09 发布