不知道哪里有问题,求大佬帮助
#include<bits/stdc++.h>
using namespace std;
long long n,a[200001],z=1,ans;
long long vis[200001];
int main(){
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
while(z<=n){
int cnt=0,cha=-1,p=z;
while(cha==-1||a[z]-a[z-1]==cha&&z<=n){
if(p<z&&cha==-1)
cha=a[z]-a[z-1];
vis[z]++;
z++;
cnt++;
}
ans+=(cnt+1)*cnt/2;
if(z>n)
break;
z--;
}
for(int i=1;i<=n;i++)
ans-=(vis[i]-1);
cout<<ans;
return 0;
}