p1049
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e6+10;
int v,n,a[N];
int ans;
void dfs(int k,int tw)
{
if(k==n+1)
{
ans=min(ans,v-tw);
return;
}
if(tw+a[k]<=v)
{
dfs(k+1,tw+a[k]);
}
dfs(k+1,tw);
}
signed main()
{
cin>>v>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
ans=v;
dfs(1,0);
cout<<ans;
return 0;
}
本人只是无意发了题解
勿喷!!!!
违规自删