#2068. Good Prefixes

Good Prefixes

以下题面由 AI 翻译。

题目描述

Alex认为一个数组是的,当且仅当存在某个元素可以表示为所有其他元素的和(如果没有其他元素,其他元素的和为$0$)。例如,数组$[1,6,3,2]$是好的,因为$1+3+2=6$。此外,数组$[0]$也被认为是好的。然而,数组$[1,2,3,4]$和$[1]$则不是好的。

Alex有一个数组$a_1,a_2,\ldots,a_n$。请帮助他统计数组$a$中所有非空好的前缀的数量。换句话说,统计满足条件的整数$i$($1 \le i \le n$)的数量,使得长度为$i$的前缀(即$a_1,a_2,\ldots,a_i$)是好的。

输入格式

输入的第一行包含一个整数$t$($1 \leq t \leq 10^4$)——测试用例的数量。

每个测试用例的第一行包含一个整数$n$($1 \le n \le 2 \cdot 10^5$)——数组的元素个数。

每个测试用例的第二行包含$n$个整数$a_1,a_2,\ldots,a_n$($0 \le a_i \le 10^9$)——数组的元素。

保证所有测试用例的$n$之和不超过$2 \cdot 10^5$。

输出格式

对于每个测试用例,输出一个整数——数组$a$中好的非空前缀的数量。

样例数据

7
1
0
1
1
4
1 1 2 0
5
0 1 2 1 4
7
1 1 0 3 5 2 12
7
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 294967296
10
0 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 589934592
1
0
3
3
4
1
2

数据范围与提示

在第四个测试用例中,数组的五个前缀分别为:

  • 前缀$[0]$是好的数组,如题目所述;
  • 前缀$[0, 1]$不是好的数组,因为$0 \ne 1$;
  • 前缀$[0, 1, 2]$不是好的数组,因为$0 \ne 1 + 2$,$1 \ne 0 + 2$,$2 \ne 0 + 1$;
  • 前缀$[0, 1, 2, 1]$是好的数组,因为$2 = 0 + 1 + 1$;
  • 前缀$[0, 1, 2, 1, 4]$是好的数组,因为$4 = 0 + 1 + 2 + 1$。

由此可见,有三个前缀是好的,因此答案是$3$。