누적합을 사용해서 푸는 문제이다.
값이 0이 되거나 전 까지의 누적합이 딕셔너리에 있으면 ans+1을 해주고 딕셔너리를 초기화 시킨다.
무한을 삽입하게 되면 이전의 누적합을 고려하지 않아도 된다.
n = int(input())
a = list(map(int, input().split()))
pref = [0] * 200001
dic = dict()
ans = 0
dic[0] = 1
for i in range(n):
pref[i] = a[i]
if i != 0:
pref[i] += pref[i - 1]
if pref[i] in dic:
ans += 1
dic.clear()
dic[pref[i - 1]] = 1
dic[pref[i]] = 1
print(ans)