测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A13744. Good Subarrays

编程题 普及/提高-

题目描述

You are given an array $a_1, a_2, \dots , a_n$ consisting of integers from $0$ to $9$ . A subarray $a_l, a_{l+1}, a_{l+2}, \dots , a_{r-1}, a_r$ is good if the sum of elements of this subarray is equal to the length of this subarray ( $\sum\limits_{i=l}^{r} a_i = r - l + 1$ ).

For example, if $a = [1, 2, 0]$ , then there are $3$ good subarrays: $a_{1 \dots 1} = [1], a_{2 \dots 3} = [2, 0]$ and $a_{1 \dots 3} = [1, 2, 0]$ .

Calculate the number of good subarrays of the array $a$ .

输入格式

The first line contains one integer $t$ ( $1 \le t \le 1000$ ) — the number of test cases.

The first line of each test case contains one integer $n$ ( $1 \le n \le 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$ .

输出格式

For each test case print one integer — the number of good subarrays of the array $a$ .

输入输出样例

输入 #1
3
3
120
5
11011
6
600005
输出 #1
3
6
1

说明/提示

The first test case is considered in the statement.

In the second test case, there are $6$ good subarrays: $a_{1 \dots 1}$ , $a_{2 \dots 2}$ , $a_{1 \dots 2}$ , $a_{4 \dots 4}$ , $a_{5 \dots 5}$ and $a_{4 \dots 5}$ .

In the third test case there is only one good subarray: $a_{2 \dots 6}$ .
上一题 去做题 下一题