9078: CF1398 - C. Good Subarrays
[Creator : ]
Description
You are given an array $a_1,a_2,…,a_n$ consisting of integers from 0 to 9. A subarray $a_l,a_{l+1},a_{l+2},…,a_{r−1},a_r$ is good if the sum of elements of this subarray is equal to the length of this subarray ($\sum_{i=l}^{r}a+i=r−l+1$).
For example, if a=[1,2,0], then there are 3 good subarrays: $a_{1…1}=[1],a_{2…3}=[2,0]$ and $a_{1…3}=[1,2,0]$.
Calculate the number of good subarrays of the array a.
For example, if a=[1,2,0], then there are 3 good subarrays: $a_{1…1}=[1],a_{2…3}=[2,0]$ and $a_{1…3}=[1,2,0]$.
Calculate the number of good subarrays of the array a.
Input
The first line contains one integer $t\ (1≤t≤1000)$ — the number of test cases.
The first line of each test case contains one integer $n\ (1≤n≤10^5)$ — the length of the array $a$.
The second line of each test case contains a string consisting of $n$ decimal digits, where the $i$-th digit is equal to the value of $a_i$.
It is guaranteed that the sum of $n$ over all test cases does not exceed $10^5$.
The first line of each test case contains one integer $n\ (1≤n≤10^5)$ — the length of the array $a$.
The second line of each test case contains a string consisting of $n$ decimal digits, where the $i$-th digit is equal to the value of $a_i$.
It is guaranteed that the sum of $n$ over all test cases does not exceed $10^5$.
Output
For each test case print one integer — the number of good subarrays of the array $a$.
Sample 1 Input
3
3
120
5
11011
6
600005
Sample 1 Output
3
6
1
The first test case is considered in the statement.
In the second test case, there are $6$ good subarrays: $a_{1…1}, a_{2…2}, a_{1…2}, a_{4…4}, a_{5…5}$ and $a_{4…5}$.
In the third test case there is only one good subarray: $a_{2…6}$.
In the second test case, there are $6$ good subarrays: $a_{1…1}, a_{2…2}, a_{1…2}, a_{4…4}, a_{5…5}$ and $a_{4…5}$.
In the third test case there is only one good subarray: $a_{2…6}$.