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) throws java.lang.Exception
  11. {
  12. int[] a = {-3, 5, -12,14,-9,13};
  13. int[] b = {-3,14, 12, 5,-9,13};
  14. System.out.println(canPartitioning(a));
  15. System.out.println(canPartitioning(b));
  16. }
  17.  
  18. static boolean canPartitioning(int[] arr) {
  19. return partition(arr, 0, 0, 0, 0);
  20. }
  21.  
  22. static boolean partition(int[] arr, int i, int selected, int sum, int rest) {
  23. int length = arr.length;
  24. if (i >= length) return selected == length/2 && sum == rest;
  25. return selected <length/2 && partition(arr, i + 1, selected + 1, sum + arr[i], rest)
  26. || partition(arr, i + 1, selected, sum, rest + arr[i]);
  27. }
  28. }
Success #stdin #stdout 0.07s 46996KB
stdin
Standard input is empty
stdout
false
true