Fork me on GitHub

【常用模板】 01背包

加优化的01背包模板

#include <iostream>
using namespace std;
int w[210],v[210],f[210];
int main()
{
    freopen("package.in","r",stdin);
    freopen("package.out","w",stdout);
    int n,m;
    cin>>m>>n;
    for(int i=1;i<=n;i++)
        cin>>w[i]>>v[i];
    for(int i=1;i<=n;i++)
        for(int j=m;j>=w[i];j--)
            if(f[j-w[i]]+v[i]>f[j])
                f[j]=f[j-w[i]]+v[i];
    cout<<f[m];
    return 0;
}
posted @ 2016-12-04 09:31  sxb门徒  阅读(108)  评论(0编辑  收藏  举报