代码如下:
#include<bits/stdc++.h>
using namespace std;
int n,b,dmax = 10000000;
int a[1000];
bool vst[1000];
void dfs(int sum)
{
if(dmax > sum&&sum!= 0&&sum >= b)
{
dmax = sum;
return;
}
for(int i =0;i <= n;i++)
{
if(vst[i] != 1)
{
vst[i] = 1;
dfs(sum+a[i]);
vst[i] = 0;
}
}
}
int main()
{
cin >> n >> b;
for(int i =0;i < n;i++)
{
cin >> a[i];
}
dfs(0);
cout << dmax - b;
return 0;
}