0分求助!
查看原帖
0分求助!
1312482
sxz12345qwert楼主2024/11/21 22:46

不知道哪里有问题,求大佬帮助

#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;
}
2024/11/21 22:46
加载中...