1 solutions

  • 1
    @ 2024-3-23 16:53:03
    #include<bits/stdc++.h>
    using namespace std;
    int v,n;
    int s[105];
    int dp[20005]={};
    int main(){
    	cin>>v>>n;
    	for(int i=1;i<=n;i++) cin>>s[i];
    	for(int i=1;i<=n;i++) 
    	for(int m=v;m>=0;m--) if(m<s[i]) dp[m]=dp[m];
    						  else dp[m]=max(dp[m],dp[m-s[i]]+s[i]);
    	cout<<v-dp[v]<<"\n";
    	return 0;
    }
    

    特殊的01背包

    • 1

    Information

    ID
    780
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    5
    Tags
    # Submissions
    23
    Accepted
    13
    Uploaded By