|
- #include<iostream>
- using namespace std;
- int n,a[21],h,ans=99999999;
- void dfs(int s,int i)
- {
- if(s>=ans)return;
- else if(s>=h)ans=min(s,ans);
- else if(i>n)return;
- else
- {
- dfs(s,i+1);
- dfs(s+a[i],i+1);
- }
- }
- int main()
- {
- cin>>n>>h;
- for(int i=1;i<=n;i++)cin>>a[i];
- dfs(0,1);
- cout<<ans-h;
- return 0;
- }
复制代码 |
|