#include <bits/stdc++.h>
#define int long long
using namespace std;
int n, m, ans;
int a[110];
void dfs(int p, int money)
{
if (p > n)
{
if (money == 0) ans++;
return;
}
if (money >= a[p]) dfs(p + 1, money - a[p]);
dfs(p + 1, money);
}
signed main()
{
ios::sync_with_stdio(false);
cin >> n >> m;
for (int i = 1; i <= n; i++) cin >> a[i];
dfs(1, m);
cout << ans << endl;
return 0;
}
最后一个测试点TLE了,求改为记忆化搜索/dp