#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll n,a[200002],b[200002];
ll ans[200002];
map<ll,ll>mp;
int main(){
scanf("%lld",&n);
for(ll i=1;i<=n;++i)scanf("%lld",&a[i]);
for(ll i=1;i<=n;++i)mp[b[i-1]]=i,b[i]=b[i-1]+a[i],ans[mp[b[i]]]=i;
ll maxn=21474838444;
ll sum=0;
for(ll i=n;i;--i){
if(!ans[i])ans[i]=n+1;
ans[i]=min(ans[i],maxn);
sum+=ans[i]-i;
}
printf("%lld",sum);
return 0;
}
求调,谢谢!