01背包

来源:互联网 发布:淘宝手机比京东便宜 编辑:程序博客网 时间:2024/06/05 08:07
#include <iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn=1010;int m,n,dp[maxn],v[maxn],c[maxn];int main(){    while(~scanf("%d%d",&n,&m))    {        for(int i=1; i<=n; i++)            scanf("%d%d",&v[i],&c[i]);        memset(dp,0,sizeof(dp));//表示的是背包不一定装满,完全背包反之。        int maxi=0;        for(int i=1; i<=n; i++)        {            for(int j=m; j>=v[i]; j--)            {                dp[j]=max(dp[j],dp[j-v[i]]+c[i]);                maxi=max(maxi,dp[j]);            }        }        printf("%d\n",maxi);    }    return 0;}

0 0
原创粉丝点击