fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main(String[] args) {
  11.  
  12. int[] arr={9,1,7,13,3};
  13. int i = 0;
  14. int res = SubsetSum(arr, 22, 0, 0);
  15. while (res > 0) {
  16. if ((res & 1) > 0)
  17. System.out.println(i);
  18. i++;
  19. res >>= 1;
  20. }
  21. }
  22.  
  23. public static int SubsetSum(int[] arr, int sum, int index, int used){
  24. if(sum==0)
  25. return used;
  26. if(sum<0 | index>=arr.length)
  27. return 0;
  28. int a = SubsetSum(arr,sum,index+1, used);
  29. int b = SubsetSum(arr,sum-arr[index],index+1, used | (1 << index));
  30. if (a > 0)
  31. return a;
  32. else
  33. return b;
  34. }
  35. }
Success #stdin #stdout 0.04s 2184192KB
stdin
Standard input is empty
stdout
0
3