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. // your code goes here
  13. Scanner sc = new Scanner(System.in);
  14. int n = sc.nextInt();
  15. int arr[] = new int[n];
  16. for(int i=0; i<n; i++){
  17. arr[i]=sc.nextInt();
  18. }
  19. HashMap<Integer,Integer> map = new HashMap<>();
  20.  
  21. int sum=0, largestSubArray=0;
  22. for(int i=0; i<n; i++){
  23. sum+=arr[i];
  24. if(sum==0){
  25. largestSubArray = i+1;
  26. }
  27. else if(map.containsKey(sum))
  28. largestSubArray = Math.max(i-map.get(sum),largestSubArray);
  29. else
  30. map.put(sum,i);
  31. }
  32.  
  33. System.out.println(largestSubArray);
  34. }
  35. }
Success #stdin #stdout 0.12s 56620KB
stdin
8
15 -2 2 -8 1 7 10 23
stdout
5