/ WHOJ / 题库 /

完美数组

完美数组

题目描述

Smart 喜欢使用数组。今天,他需要你的帮助来完成一项艰巨的任务。

如果对于数组\(A\)的每个非空子数组(子数组就是从数组\(A\)中选出连续若干个元素组成的数组),如果该子数组的所有元素之和不等于零,则将其称为"\(\text{Perfect Array}\)"。 例如,数组{\(−1, 2, −3\)}就是"\(\text{Perfect Array}\)",因为其所有子数组{\(−1\)},{\(− 1, 2\)},{\(− 1, 2, -3\)},{\(2\)},{\(2, -3\)},{\(-3\)}的元素和均为非零。 但是,数组{\(−1, 2, −1, −3\)}就不是"\(\text{Perfect Array}\)",因为它的子数组{\(−1, 2, −1\)}的元素和等于 \(0\)。

你的任务是对给定数组\(A\),帮助Smart计算\(A\)的非空子数组是"\(\text{Perfect Array}\)"的数量。

格式

输入格式

第一行包含一个整数\(n\),表示数组\(A\)的长度。

第二行包含\(n\)个整数\(A_1, A_2, \cdots, A_n\)对于数组\(A\)的元素。

输出格式

输出仅一行包含一个整数,表示数组\(A\)的非空子数组是"\(\text{Perfect Array}\)"的数量。

样例1

样例输入1

3
1 2 -3

样例输出1

5

样例解释

数组{\(1, 2, -3\)}的子数组{\(1\)},{\(1, 2\)},{\(2\)},{\(2, −3\)},{\(−3\)}是"\(\text{Perfect Array}\)",但子数组{\(1, 2, −3\)}就不是"\(\text{Perfect Array}\)"。

限制

\(100\%\)的数据:\(1 \le n \le 2×10^5, -10^9 \le A_i \le 10^9\)。

信息

ID
1348
难度
4
分类
(无)
标签
递交数
12
已通过
2
通过率
17%
上传者

相关

在下列训练计划中:

YGP模拟赛