题解 P1164 【小A点菜】
include <bits/stdc++.h>
pragma GCC optimize(2)
using namespace std;
int sum = 0, a[105], n, m;
void read()
{
cin >> n >> m;
for (int i = 1;i <= n;i++)
cin >> a[i];
}
void dfs(int dep, int money)
{
if (dep > n)
{
if (m - money == 0)
sum++;
}
else
{
dfs(dep + 1, money);
if (money + a[dep] <= m)
dfs(dep + 1, money + a[dep]);
}
}
int main()
{
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
read();
dfs(1, 0);
cout << sum << endl;
return 0;
}