你这个代码漏洞百出啊!!!
光是你这个想法都是错的,然而你的代码的漏洞却特别多!!!
这题是要用深度优先搜索DFS或动态规划DP的。
```cpp
#include<iostream>
#include<fstream>
#include<algorithm>
#include<cmath>
#include<string>
#include<cstring>
#include<cstdio>
#include<cstdlib>
//#pragma GCC optimize(3)
//sort(st.begin(),st.end());
using namespace std;
int n,k,he,x=2100000000;
int a[30],f[30];
void dfs(int he)
{
if(he>=k)
{
x=min(x,he-k);
return;
}
for(int i=1; i<=n; i++)
{
if(f[i]==0)
{
f[i]=1;
he+=a[i];
dfs(he);
he-=a[i];
f[i]=0;
}
}
}
int main()
{
cin>>n>>k;
for(int i=1; i<=n; i++)
scanf("%d",&a[i]);
dfs(0);
cout<<x;
return 0;
}
```
by xxxjz @ 2020-01-17 20:22:14