rt一个dfs暴搜过了!
#include <bits/extc++.h>
using namespace std;
using namespace __gnu_pbds;
using namespace __gnu_cxx;
array<int,100> a;
int V,n;
int dfs(int d,int vl){
int ans=0,ans1=0,ans0=0;
if(d==n+1)
return 0;
ans0=dfs(d+1,vl);
if(vl-a[d]>=0)
ans1=a[d]+dfs(d+1,vl-a[d]);
ans=max(ans0,ans1);
return ans;
}
int main(){
cin>>V>>n;
for(int i=1;i<=n;++i)
cin>>a[i];
cout<<V-dfs(1,V);
}
是不是吸氧的缘故?