hdu 2111 多重背包

来源:互联网 发布:企业邮箱域名申请 编辑:程序博客网 时间:2024/06/06 09:43
#include<stdio.h>#include<string.h>int max(int a,int b){return a>b?a:b;}int main(){int n,v,i,j,k;int dp[200],a[200],b[200];while(scanf("%d",&v),v!=0){scanf("%d",&n);for(i=1;i<=n;i++)scanf("%d%d",&a[i],&b[i]);memset(dp,0,sizeof(dp));for(i=1;i<=n;i++)for(j=v;j>=1;j--)for(k=1;k<=b[i]&&j>=k;k++)dp[j]=max(dp[j],dp[j-k]+k*a[i]);  printf("%d\n",dp[v]);}return 0;}

0 0
原创粉丝点击