@[Blanchard](/user/788995)
```cpp
#define _CRT_SECURE_NO_WARNINGS 1
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n, c;
cin >> n >> c;
int a[1000100];
for (int i = 0; i < n; i++)
cin >> a[i];
int sum = 0;
sort(a, a + n);
int b[1000100] = { 0 };
for (int i = 0; i < n; i++)
b[a[i]]++;
for (int k = 0; k < n; k++)
{
int l = 0, r = k - 1;
while (l <= r)
{
int mid = l + (r - l) / 2;
if (a[k] - a[mid] == c && a[k] != a[mid])
{
sum += b[a[mid]];
break;
}
else if (a[k] - a[mid] > c)
{
l = mid + 1;
}
else
{
r = mid - 1;
}
}
}
cout << sum;
return 0;
}
//这是改后的还是有两个测试点没过
```
by Alannix @ 2024-01-18 05:40:17