Checking subarray with sum zero

0 0 5 5 0 0.
how to count subarray whose sum is zro

Hey @Sumant123
public static int count(int a[])
{
int pr[] = new int[a.length];
pr[0] = a[0];
HashMap<Integer,Integer> m = new HashMap<>();
m.put(0,1);
if(m.containsKey(a[0])) m.put(a[0],2);
else m.put(a[0],1);
for(int i=1;i<a.length;i++)
{
pr[i] = pr[i-1] + a[i];
if(m.containsKey(pr[i])) m.put(pr[i],m.get(pr[i])+1);
else m.put(pr[i],1);
}
int c = 0;
for(int i : m.keySet())
{
int n = m.get(i);
if(n > 1)
c += n*(n-1)/2;
}

    return c;
}

Input:
30
6 -9 11 -10 -15 -14 18 20 -12 7 3 -7 -8 -9 20 -1 0 -6 4 18 -13 -10 -9 -6 -10 -9 -11 3 12 20

Its Correct output is:
7

And Your Code’s output is:
5


its Give Correct output