如题
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int M=200020;
int main(){
int N;
long long C;
cin>>N>>C;
vector<long long>a(M);
int b[M]={0};
int start;
for(int i=1;i<=N;i++){
cin>>a[i];
if(a[i]!=a[i-1])start=i;
b[start]++;
}
long long sum=0;
for(int i=1,k=b[1];i!=N+1;i+=k){
k=b[i];
int l=1,r=N;
while(l<r){
int mid=l+r>>1;
if(a[i]+C<=a[mid])r=mid;
else l=mid+1;
}
if(a[l]==a[i]+C)sum+=b[i]*b[l];
}
cout<<sum;
return 0;
}