//cantback 写于2022/4/6
//P1049 装箱问题
#include<bits/stdc++.h>
using namespace std;
int r;//容量
int n;//货物数量
int ans=0;//当前重量(非输出答案)
int hw[35];//货物信息
void dfs(int kg,int i){//kg为重量,i为当前访问的元素项
if(i>=n){
if(kg==0){
return;
}
if(kg>ans&&kg<=r) ans=kg;
return;
}
dfs(kg+hw[i],i+1);
dfs(kg,i+1);
}
int main(){
cin>>r;
cin>>n;
for(int i=0;i<n;i++)cin>>hw[i];
dfs(0,0);
cout<<r-ans;
return 0;
}
测试点过了4个,剩下一个TLE,试了几次也不行