#include<bits/stdc++.h>
using namespace std;
#define MXM 100010
#define MXN 110
int dp[MXM],v[MXN],w[MXN];
int main ()
{
int i,j,n,m;
while(scanf("%d",&n)==1)
{
for(i = 0;i<n;i++)
scanf("%d%d",&v[i],&w[i]);
scanf("%d",&m);
memset(dp,0,sizeof dp);
for(i = 0;i<n;i++)
for(j = w[i];j<=m;j++)//完全背包问题
{
dp[j] = max(dp[j],dp[j-w[i]]+v[i]);
}
printf("%d\n",dp[m]);
}
return 0;
}
07-14
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交