#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct data
{int c,w;
}ss[1100];
int dp[1100];
int max(int a,int b)
{return a>b?a:b;
}
int main()
{int n,v;while(scanf("%d%d",&n,&v),n||v){memset(dp,0,sizeof(dp));int i,c,w,j;for(i=1;i<=n;++i){scanf("%d%d",&c,&w);ss[i].c=c;ss[i].w=w;}for(i=1;i<=n;++i){for(j=v;j>=ss[i].c;--j) dp[j]=max(dp[j],dp[j-ss[i].c]+ss[i].w);}printf("%dn",dp[v]);}return 0;
}
本文发布于:2024-01-28 06:22:20,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17063941455428.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |