//状压枚举解法
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,k;
cin>>n>>k;
vector<int>a(n+4);
for(int i = 1;i<=n;++i)
{
cin>>a[i];
}
int ans = 0;
for(int i = 1;i<(1<<n);++i)
{
int sum = 0;
for(int j = 0;j<n;++j)
{
if(i&(1<<j))
{
sum+=a[j+1];
}
if(sum>k)
{
break;
}
}
if(sum == k)
{
ans++;
}
}
cout<<ans<<'\n';
}

京公网安备 11010502036488号