fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4.  
  5. class Solution {
  6. public static int findMinMerge(int[] arr, int n) {
  7. int minMerge = 0;
  8. if (n == 1) {
  9. return minMerge;
  10. }
  11.  
  12. int left = 0; int right = n - 1;
  13. while (left < right) {
  14. if (arr[left] == arr[right]) {
  15. left++;
  16. right--;
  17. }
  18. if (arr[left] < arr[right]) {
  19. arr[left + 1] += arr[left];
  20. left++;
  21. minMerge++;
  22. } else if (arr[left] > arr[right]) {
  23. arr[right - 1] += arr[right];
  24. right--;
  25. minMerge++;
  26. }
  27. }
  28. return minMerge;
  29. }
  30.  
  31. public static void main (String[] args) throws java.lang.Exception {
  32. Scanner sc = new Scanner(System.in);
  33. int n = sc.nextInt();
  34. if (n == 0) {
  35. System.out.println("No Input provided");
  36. return;
  37. }
  38.  
  39. int[] arr = new int[n];
  40. for (int i = 0; i < n; i++) {
  41. arr[i] = sc.nextInt();
  42. }
  43.  
  44. System.out.println(findMinMerge(arr, n));
  45. }
  46. }
Success #stdin #stdout 0.14s 51320KB
stdin
8
5  4  9  8  3  6  5  4

6
6 5 6 5 5 5

4
11 14 15 99

4
1 4 5 1

5
1 4 5 9 1

3
15 4 15
stdout
3