CF1985C.Good Prefixes
入门
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Alex 认为一个数组是好的,如果存在某个元素可以表示为所有其他元素的和(如果没有其他元素,则其他元素的和为 0)。例如,数组 [1,6,3,2] 是好的,因为 1+3+2=6。此外,数组 [0] 也是好的。然而,数组 [1,2,3,4] 和 [1] 不是好的。
Alex 有一个数组 a1,a2,…,an。请你帮助他统计数组 a 的有多少个非空前缀是好的。换句话说,统计有多少个整数 i(1≤i≤n),使得长度为 i 的前缀(即 a1,a2,…,ai)是好的。
输入格式
输入的第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。
每个测试用例的第一行包含一个整数 n(1≤n≤2⋅105),表示数组的元素个数。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an(0≤ai≤109),表示数组的元素。
保证所有测试用例中 n 的总和不超过 2⋅105。
输出格式
对于每个测试用例,输出一个整数,表示数组 a 的好的非空前缀的数量。
输入输出样例
输入#1
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
1 0 3 3 4 1 2
说明/提示
在第四个测试用例中,数组有五个前缀:
- 前缀 [0] 是好的数组,如题目所述;
- 前缀 [0,1] 不是好的数组,因为 0=1;
- 前缀 [0,1,2] 不是好的数组,因为 0=1+2,1=0+2,2=0+1;
- 前缀 [0,1,2,1] 是好的数组,因为 2=0+1+1;
- 前缀 [0,1,2,1,4] 是好的数组,因为 4=0+1+2+1。
如你所见,其中有三个前缀是好的,所以答案是 3。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?