fork download
  1. #include<iostream>
  2. #include<cstdio>
  3. #include<map>
  4. #include<vector>
  5. using namespace std;
  6. int N,M,a[15];
  7. map<int,vector<int> >multiple;
  8. void creating_subset(int i,int m,int l)
  9. {
  10. if(i>=M)
  11. {
  12. multiple[l].push_back(m);
  13. return;
  14. }
  15. creating_subset(i+1,m*a[i],l+1);
  16. creating_subset(i+1,m,l);
  17. }
  18. int main()
  19. {
  20. cin>>M;
  21. for(int i=0;i<M;i++)
  22. cin>>a[i];
  23. creating_subset(0,1,0);
  24. for(int i=0;i<multiple[3].size();i++)
  25. printf("%d ",multiple[3][i]);
  26. cout<<endl;
  27. return 0;
  28. }
  29.  
Success #stdin #stdout 0s 3436KB
stdin
Standard input is empty
stdout