#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
int V;
int n;
int v[40];
int dp[20010];
int main(){
//freopen("in.txt","r",stdin);
cin>>V>>n;
memset(dp,0,sizeof(dp));
for(int i=0;i<n;i++){
cin>>v[i];
}
for(int i=0;i<n;i++){
for(int j =V;j>=v[i];j--){
if(dp[j-v[i]]+v[i]<=j){//实际上该if语句多余
dp[j] = max(dp[j],dp[j-v[i]]+v[i]);
}
}
}
cout<<V-dp[V]<<'\n';
return 0;
}
蒜头君的购物袋1——01背包
最新推荐文章于 2022-05-03 16:10:29 发布