1 条题解

  • 0
    @ 2020-01-04 16:38:41
    using namespace std;
    int V,n;
    long long a[105];
    long long f[20005];
    long long ans=0;
    int main()
    {
        cin>>V>>n;
        for(int i=1;i<=n;i++)
        cin>>a[i];
        
        f[0]=0;
        
        for(int i=1;i<=n;i++)
        for(int j=V;j>=a[i];j--)
        {
            if(j-a[i]>=0)
            f[j]=max(f[j],f[j-a[i]]+a[i]);
        }
        for(int i=V;i>=0;i--)
        ans=max(ans,f[i]);
        cout<<V-f[ans];
        
    }
    
    
  • 1

信息

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