UVA 10130 - SuperSale(0-1背包问题)

来源:互联网 发布:淘宝卖电影资源被罚 编辑:程序博客网 时间:2024/06/05 18:57
#include <iostream>#include <cstdio>#include <cstring>#include <queue>#define M 1000+10using namespace std;int p[M],w[M],dp[M];int main(){    int T,n,m,c;    cin>>T;    while(T--)    {        cin>>n;        for(int i=0; i<n; i++)            cin>>p[i]>>w[i];        cin>>m;        int sum=0;        while(m--)        {            cin>>c;            memset(dp,0,sizeof(dp));            for(int i=0; i<n; i++)                for(int j=c; j>=0; j--)                    if(j>=w[i])                        dp[j]=max(dp[j],dp[j-w[i]]+p[i]);            sum+=dp[c];        }        cout<<sum<<endl;    }    return 0;}

0 0
原创粉丝点击