@[LukeSu](/user/593753)
建议把C开大一点,看是不是丢精度了
by 编码落寞 @ 2022-04-02 16:16:00
@[编码落寞](/user/557751)
我改了下,现在92分了:
```cpp
#include<bits/stdc++.h>
using namespace std;
#define int unsigned long long
int a[111111111];
signed main(){
cin.tie(0)->sync_with_stdio(false);
int N, C, ans1 = 0, ans2 = 0, res = 0;
cin >> N >> C;
for(int i = 1; i <= N; i++){
cin >> a[i];
}
sort(a + 1, a + N + 1);
for(int i = 1; i <= N; i++){
int l = i + 1, r = N;
while(l < r){
int mid = l + r + 1 >> 1;
if(a[mid] <= a[i] + C) l = mid;
else r = mid - 1;
}
ans1 = r;
l = i + 1, r = N;
while(l < r){
int mid = l + r + 1 >> 1;
if(a[mid] < a[i] + C) l = mid;
else r = mid - 1;
}
ans2 = r;
res += (ans1 - ans2);
}
cout << res;
return 0;
}
```
by LukeSu @ 2022-04-02 16:44:06