307862: CF1426D. Non-zero Segments
Memory Limit:256 MB
Time Limit:2 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Non-zero Segments
题意翻译
给定一个序列,求最少插入多少数,才能使此序列任意子段和均不为 $0$ . 插入的数字可以是你能想到的所有整数,比如说 $\pi^0$ ,$114514^{1919810}$.题目描述
Kolya got an integer array $ a_1, a_2, \dots, a_n $ . The array can contain both positive and negative integers, but Kolya doesn't like $ 0 $ , so the array doesn't contain any zeros. Kolya doesn't like that the sum of some subsegments of his array can be $ 0 $ . The subsegment is some consecutive segment of elements of the array. You have to help Kolya and change his array in such a way that it doesn't contain any subsegments with the sum $ 0 $ . To reach this goal, you can insert any integers between any pair of adjacent elements of the array (integers can be really any: positive, negative, $ 0 $ , any by absolute value, even such a huge that they can't be represented in most standard programming languages). Your task is to find the minimum number of integers you have to insert into Kolya's array in such a way that the resulting array doesn't contain any subsegments with the sum $ 0 $ .输入输出格式
输入格式
The first line of the input contains one integer $ n $ ( $ 2 \le n \le 200\,000 $ ) — the number of elements in Kolya's array. The second line of the input contains $ n $ integers $ a_1, a_2, \dots, a_n $ ( $ -10^{9} \le a_i \le 10^{9}, a_i \neq 0 $ ) — the description of Kolya's array.
输出格式
Print the minimum number of integers you have to insert into Kolya's array in such a way that the resulting array doesn't contain any subsegments with the sum $ 0 $ .
输入输出样例
输入样例 #1
4
1 -5 3 2
输出样例 #1
1
输入样例 #2
5
4 -2 3 -9 2
输出样例 #2
0
输入样例 #3
9
-1 1 -1 1 -1 1 1 -1 -1
输出样例 #3
6
输入样例 #4
8
16 -5 -11 -15 10 5 4 -4
输出样例 #4
3