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 b[]=new int[n];
  16.  
  17. int k=sc.nextInt();
  18.  
  19. for(int i=0;i<n;i++)
  20. b[i]=sc.nextInt();
  21.  
  22. int ans=0;
  23. Map<Integer,Integer> m=new HashMap<>();
  24. m.put(0,-1);
  25. int sum=0;
  26. int maxlength=Integer.MIN_VALUE;
  27. for(int i=0;i<n;i++)
  28. {
  29. sum+=b[i];
  30. int cpl=sum-k;
  31.  
  32. if(m.containsKey(cpl))
  33. {
  34. int length=i-m.get(cpl);
  35. if(length>maxlength)
  36. {
  37. ans=1;
  38. maxlength=Math.max(maxlength,length);
  39. }
  40. else if(length==maxlength)
  41. ans++;
  42. }
  43. // else
  44. m.putIfAbsent(sum,i);
  45.  
  46.  
  47. }
  48. System.out.println(ans);
  49.  
  50. }
  51. }
Success #stdin #stdout 0.13s 54516KB
stdin
8 15
10 5 2 7 1 9 8 7

stdout
1