题目描述
给定数组 a1,a2,…,an,数组每个元素取值为 0 到 9。
如果一段子数组 al,al+1,…,ar 满足子数组元素之和等于子数组的长度,即
i=l∑rai=r−l+1
就称该子数组为“好子数组”。
例如数组 a=[1,2,0],一共有 3 个好子数组:a1…1=[1]、a2…3=[2,0]、a1…3=[1,2,0]。
请计算数组 a 中好子数组的总数量。
输入
第一行一个整数 t(1≤t≤1000),代表测试用例组数。
每组测试用例:
第一行输入整数 n(1≤n≤105),代表数组长度。
第二行给出长度为 n 的数字字符串,字符串第 i 位字符对应 ai 的数值。
保证全部测试用例的 n 之和不超过 105。
输出
对每组测试用例输出一个整数,表示该数组中好子数组的数量。
样例
3
3
120
5
11011
6
600005
3
6
1
说明
第一组样例就是题目描述举例,共 3 个好子数组。
第二组样例共有 6 个好子数组:a1…1、a2…2、a1…2、a4…4、a5…5、a4…5。
第三组样例仅有 1 个好子数组:a2…6。
原题链接
原题链接