CF1333C.Eugene and an array
普及+/提高
通过率:0%
时间限制:1.50s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Eugene likes working with arrays. And today he needs your help in solving one challenging task.
An array c is a subarray of an array b if c can be obtained from b by deletion of several (possibly, zero or all) elements from the beginning and several (possibly, zero or all) elements from the end.
Let's call a nonempty array good if for every nonempty subarray of this array, sum of the elements of this subarray is nonzero. For example, array [−1,2,−3] is good, as all arrays [−1], [−1,2], [−1,2,−3], [2], [2,−3], [−3] have nonzero sums of elements. However, array [−1,2,−1,−3] isn't good, as his subarray [−1,2,−1] has sum of elements equal to 0.
Help Eugene to calculate the number of nonempty good subarrays of a given array a.
尤金喜欢处理数组。今天,他需要你帮助解决一个具有挑战性的任务。
如果数组 c 可以通过从数组 b 的开头删除若干(可能为零个或全部)元素,并从结尾删除若干(可能为零个或全部)元素而得到,则称 c 是 b 的一个子数组。
我们称一个非空数组是好的,当且仅当它的每一个非空子数组的元素之和均不为零。例如,数组 [−1,2,−3] 是好的,因为其所有非空子数组 [−1]、[−1,2]、[−1,2,−3]、[2]、[2,−3]、[−3] 的元素之和均不为零。然而,数组 [−1,2,−1,−3] 不是好的,因为其子数组 [−1,2,−1] 的元素之和为 0。
请帮助尤金计算给定数组 a 中非空的好子数组的个数。
输入格式
The first line of the input contains a single integer n (1≤n≤2×105) — the length of array a.
The second line of the input contains n integers a1,a2,…,an (−109≤ai≤109) — the elements of a.
输入的第一行包含一个整数 n(1≤n≤2×105)—— 数组 a 的长度。
输入的第二行包含 n 个整数 a1,a2,…,an(−109≤ai≤109)—— 数组 a 的元素。
输出格式
Output a single integer — the number of good subarrays of a.
输出一个整数——数组 a 中“好”子数组的个数。
输入输出样例
输入#1
3 1 2 -3
输出#1
5
输入#2
3 41 -41 41
输出#2
3
说明/提示
In the first sample, the following subarrays are good: [1], [1,2], [2], [2,−3], [−3]. However, the subarray [1,2,−3] isn't good, as its subarray [1,2,−3] has sum of elements equal to 0.
In the second sample, three subarrays of size 1 are the only good subarrays. At the same time, the subarray [41,−41,41] isn't good, as its subarray [41,−41] has sum of elements equal to 0.
在第一个样例中,以下子数组是“好”的:[1]、[1,2]、[2]、[2,−3]、[−3]。然而,子数组 [1,2,−3] 并非“好”的,因为其子数组 [1,2,−3] 的元素和为 0。
在第二个样例中,仅有三个长度为 1 的子数组是“好”的。同时,子数组 [41,−41,41] 并非“好”的,因为其子数组 [41,−41] 的元素和为 0。
输入解题思路,AI测评打分。不知道怎么写?