看半天都没看出来哪有问题

P1102 A-B 数对

你这问题大了
by only_joker @ 2023-08-22 09:07:13


```cpp #include <cmath> #include <string> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; const int N=1e7+5; long long a[N],n,c,cnt=0; int half(int key){ int l=0,r=n+1,mid; while(l+1<r){ mid=(r+l)/2; if(a[mid]<=key){ l=mid; } else{ r=mid; } } return l; } int half1(int key){ int l=0,r=n+1,mid; while(l+1<r){ mid=(r+l)/2; if(a[mid]<key){ l=mid; } else{ r=mid; } } return l; } 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++){ cnt+=half(a[i]+c)-half1(a[i]+c); } cout<<cnt; return 0; } ``` 也是二分,我重构了一遍,一直卡在92,后来开了longlong就A了
by only_joker @ 2023-08-22 09:46:21


@[jfm0211](/user/1037310)
by only_joker @ 2023-08-22 09:47:30


OK
by jfm0211 @ 2023-08-22 10:43:07


|