题目大意
给定一个长度为 n 的数列,有多少个长度不小于 3
的子段满足等差数列?
代码
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int n,a[100005],ans=0;
int main(){
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
int cur1=1,cur2=3;
while(cur2-cur1+1>=3&&cur2!=n){
if(cur2==n){
cur1++;
cur2=cur1+3-1;
}
if(abs(a[cur2]-a[cur2-1])==abs(a[cur1]-a[cur1+1]))
ans++;
}
cout<<ans<<endl;
return 0;
}
全部超时了!求助各位大佬QaQ