#include <iostream> #include <cstring> #include <algorithm> using namespace std; const int MAX = 20; int stuff[MAX]; int sum=0 ; //容量总数 int m; //物品总数 void DFS(int n,int position) //n为当前总和 { if(n>40) { return; } else if(n==40) { sum++; return; } else { for(int i=position;i<m;i++) { DFS(n+ stuff[i],i+1); } } return; } int main() { cin>>m; for(int i=0;i<m;i++) { cin>>stuff[i]; } DFS(0,0); cout<<sum<<endl; return 0; }