#include<stdio.h>
int a[105],n,m,ans=0;
void dfs(int k,int sum){
if(k==n+1){
if(sum==m) ans++;
return;
}
if(sum>m) return;
dfs(k+1,sum);
dfs(k+1,sum+a[k+1]);
}
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
dfs(0,0);
printf("%d",ans/2);
return 0;
}
倒数第三行的ans不知道为什么算出来结果是正确结果的两倍,提交除以2后竟然是90分,大佬求教!!!!!