WA on #2#4#5#8#9#11
#include<bits/stdc++.h>
using namespace std;
long long l,r,mid,n,a[200010],c,sum,mtc,movf,movb,sumlast,lb,rb;
bool exist;
int main(){
cin>>n>>c;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+1+n);
for(int i=1;i<=n;i++){
if(a[i]>=c&&mtc==0) mtc=i;
}
for(int i=mtc;i<=n;i++){
if(a[i]==a[i-1]){
sum=sum+sumlast;
continue;
}
sumlast=0;
l=1;
r=i;
exist=0;
while(l<=r){
mid=int((r+l)/2);
if(a[mid]<a[i]-c) l=mid+1;
if(a[mid]>=a[i]-c) r=mid-1;
if(a[mid]==a[i]-c) exist=1;
if(a[mid]==a[i]-c&&a[mid-1]!=a[i]-c){
lb=mid;
break;
}
if(l==r&&exist==0){
break;
}
}
if(exist==1){
l=lb;
r=i;
while(l<=r){
mid=int((r+l)/2);
if(a[mid]<=a[i]-c) l=mid+1;
if(a[mid]>a[i]-c) r=mid-1;
if(a[mid]==a[i]-c&&a[mid+1]!=a[i]-c){
rb=mid;
break;
}
}
sum=sum+(rb-lb+1);
sumlast=rb-lb+1;
}
}
cout<<sum;
return 0;
}