fork download
  1. #include<stdio.h>
  2. #include<algorithm>
  3. using namespace std;
  4. int n,m,a[30],b[30],ans=0;
  5. void f(int p,int cur,int s)
  6. {
  7. if(s==0)
  8. {
  9. for(int i=0;i<cur;i++)printf("%d ",b[i]);
  10. puts("");ans++;
  11. return ;
  12. }
  13. else if(s<0||(s>0&&p==n))return ;
  14. else
  15. {
  16. b[cur]=a[p];f(p+1,cur+1,s-a[p]);
  17. f(p+1,cur,s);
  18. }
  19. }
  20. int main()
  21. {
  22. while(scanf("%d",&n)==1)
  23. {
  24. ans=0;
  25. scanf("%d",&m);
  26. for(int i=0;i<n;i++)scanf("%d",&a[i]);
  27. sort(a,a+n);
  28. f(0,0,m);
  29. if(ans==0)puts("-1");
  30. }
  31. return 0;
  32. }
Success #stdin #stdout 0s 4424KB
stdin
Standard input is empty
stdout
Standard output is empty