Given an unsorted array **arr**[] of **N** integers and a **sum**. The task is to count the number of subarray which adds to a given number.

**Input Format:**

The first line of input contains an integer T denoting the number of test cases. Then T test cases follow. Each test case contains an integer N denoting the size of the array. The next line contains N space separated integers forming the array. The last line contains an integer denoting the value of the sum.

**Output Format:**

For each testcase, in a new line, print the count of the subarray which adds to the given sum.

**Your Task:**

This is a function problem. You only need to complete the function **subArraySum() **that takes **arr, n, sum as parameters** and **returns **the **count**.

**Constraints:**

1 <= T <= 200

1 <= N <= 10^{5}

-10^{5} <= arr[i] <= 10^{5}

-10^{5} <= sum <= 10^{5}

**Example:
Input:**

2

5

10 2 -2 -20 10

-10

6

1 4 20 3 10 5

33

**Output:**

3

1

**Explanation:
Testcase 1:** Subarrays with sum -10 are: [10, 2, -2, -20], [2, -2, -20, 10] and [-20, 10].

Author: Ayush Govil 1

If you have purchased any course from GeeksforGeeks then please ask your doubt on course discussion forum. You will get quick replies from GFG Moderators there.

VISHESHA SADU | 27 |

ghanshyam648 | 25 |

Biswajit3 | 21 |

karthik_kasaragadda | 20 |

tanya_sharma | 18 |

KshatriyaYash | 1066 |

nikhil_sojan | 978 |

lonecoder | 935 |

mazumderrohit8 | 864 |

SumitSingh27 | 832 |

blackshadows | 5327 |

Ibrahim Nash | 5215 |

akhayrutdinov | 5111 |

mb1973 | 4468 |

Quandray | 4444 |

Login to report an issue on this page.