ac
#include<bits/stdc++.h>//1
using namespace std;
long long n,c,a[200005],sum;
int main(){
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 x=upper_bound(a+1,a+n+1,a[i]+c)-a;
int y=lower_bound(a+1,a+n+1,a[i]+c)-a;
x=x-y;
sum+=x;
}
cout<<sum;
return 0;
}
92
#include<bits/stdc++.h>//1
using namespace std;
long long n,c,a[200005],sum;
int main(){
scanf("%d%d",&n,&c);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
sort(a+1,a+n+1);
for(int i=1;i<=n;i++){
int x=upper_bound(a+1,a+n+1,a[i]+c)-a;
int y=lower_bound(a+1,a+n+1,a[i]+c)-a;
sum+=x-y;
}
printf("%d",sum);
return 0;
}
为什么会这样呢?求助大佬,谢谢!