#include<bits/stdc++.h>
using namespace std;
int n,s,ans=20,w[19];
bool flag;
vector<int>v;
int main(){
srand(114514);
cin>>n>>s;
for(int i=1;i<=n;i++){
cin>>w[i];
}
sort(w+1,w+n+1);
for(int l=1;l<=1000000;l++){
swap(w[rand()%n+1],w[rand()%n+1]);
for(int i=n;i>=1;i--){
flag=1;
for(auto&j:v){
if(j>=w[i]){
j-=w[i];
flag=0;
}
}
if(flag){
v.push_back(s-w[i]);
}
}
ans=min(ans,(int)v.size());
v.clear();
}
cout<<ans;
}
贪心1e6次就过了