#include<iostream>
using namespace std;
int cai[110],t, m, n;
void dp(int x)
{
if (m == 0)
{
t++;
return;
}
if (m < 0||x==-1)
{
return;
}
m -= cai[x];
dp(x - 1);
m += cai[x];
dp(x - 1);
}
int main()
{
scanf("%d%d",&n,&m);
for (int i = 0;i < n;i++)
{
scanf("%d",&cai[i]);
}
dp(n - 1);
printf("%d",t);
return 0;
}
but
有大姥的话可以帮我改进一下