《动态规划》hdoj acm 3.3.1 简单背包

来源:互联网 发布:淘宝卖家信誉等级表 编辑:程序博客网 时间:2024/06/11 01:21
#include<stdio.h>#include<string.h>int f[250005];int v[55],m[55];int max(int x,int y){return x>y?x:y;}int main(){int sum,i,j,k,w,n;while(scanf("%d",&n)&&(n>=0)){sum=0;for(i=1;i<=n;i++){scanf("%d%d",&v[i],&m[i]);sum+=v[i]*m[i];}w=sum/2;memset(f,0,sizeof(f));for(i=1;i<=n;i++){            for(k=1;k<=m[i];k++){for(j=w;j>=k*v[i];j--){f[j]=max(f[j],f[j-k*v[i]]+v[i]*k);}}}printf("%d %d\n",sum-f[w],f[w]);}}
0 0