1 条题解

  • 0
    @ 2020-01-04 16:38:04
    #include<bits/stdc++.h>
    using namespace std;
    int n,m;
    long long v[10005],w[10005];
    long long f[10000005],k=0,money=0;
    int main()
    {
        cin>>n>>m;
        for(int i=1;i<=m;i++)
        cin>>v[i]>>w[i];
        
        f[0]=0;
        for(int i=1;i<=m;i++)
        for(int j=n;j>=v[i];j--)
        {
            f[j]=max(f[j],f[j-v[i]]+w[i]*v[i]);
        }
        cout<<f[n];
        return 0;
    }
    
  • 1

信息

ID
1031
难度
9
分类
动态规划 | 背包 点击显示
标签
递交数
1
已通过
1
通过率
100%
上传者