看不出来有问题,求助
#include<bits/stdc++.h>
using namespace std;
int a[200001];
int n,c;
void kp(int *arr,int start,int end)
{
if(start>=end)
return;
int left=start;
int right=end;
int pivot=arr[left];
while(left<right)
{
if(arr[right]>=pivot)
{
right--;
}
else
{
arr[left]=arr[right];
left++;
arr[right]=arr[left];
}
}
arr[right]=pivot;
kp(arr,start,left-1);
kp(arr,right+1,end);
}
int main()
{
cin>>n>>c;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
kp(a,1,n);
int r1=1,r2=1;
int ans=0;
for(int i=1;i<=n;i++)
{
while(r1<=n&&a[r1]-a[i]<=c) r1++;
while(r2<=n&&a[r2]-a[i]<c) r2++;
if(a[r1-1]-a[i]==c&&a[r2]-a[i]==c&&r1-i>=1)
ans+=r1-r2;
}
cout<<ans;
return 0;
}