哪里错了啊
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n, l, c, ans;
double endsec;
ll v[100005];
bool check(ll i, ll j){
ll dif=v[i]-v[j];
if(dif==0) return 0;
if(double(c/dif)>endsec) return 0;
return v[i]*c<=l*c*dif;
}
int main() {
cin>>n>>l>>c;
for(int i=1;i<=n;i++){
cin>>v[i];
}
sort(v+1, v+n+1);
endsec=l*c/v[n];
for(ll i=n;i>0;i--){
ll left=1, right=i-1, sp=-1;
while(left<=right){
ll mid=(left+right)>>1;
if(check(i, mid)){
sp=mid;
left=mid+1;
}
else right=mid-1;
}
if(sp!=-1){
ans+=sp;
}
}
cout<<ans<<endl;
return 0;
}