class Solution {
public:
int numberOfArithmeticSlices(vector<int>& A) {
int N = A.size();
for(int i=N-1;i>0;i--) A[i] -= A[i-1];
int cnt = 2;
queue<int> q;
for(int i=2;i<N;i++){
if(A[i] == A[i-1]){
cnt++;
}else{
if(cnt>2) q.push(cnt);
cnt = 2;
}
}
if(cnt>2) q.push(cnt);
int ans = 0;
while(!q.empty()){
int t = q.front();
q.pop();
ans += (t-2)*(t-1)/2;
}
return ans;
}
};