76分,三个点RE,求助

P1102 A-B 数对

二分
by Problem_YSJ @ 2023-08-20 21:02:04


没学过,sorry
by wuzhuoran @ 2023-08-20 21:03:01


而且数据范围是N<20000
by drinktowind @ 2023-08-20 21:05:53


谢谢,大佬,两位已关
by wuzhuoran @ 2023-08-20 21:08:59


``` #include<bits/stdc++.h> using namespace std; int n,d,c; int a[20100]; int main(){ cin>>n>>d; for(int i=1; i<=n; i++){ cin>>a[i]; } for(int i=1; i<=n; i++){ for(int j=1; j<=n; j++){ if(a[j]<a[i]){ if(a[i]-a[j]==d)c++; } } } cout<<c; return 0; } ```
by wuzhuoran @ 2023-08-20 21:09:43


还是不行啊
by wuzhuoran @ 2023-08-20 21:10:38


``` #include <bits/stdc++.h> using namespace std; #define ll long long ll a[200005]; ll n,c,ans; int main() { cin>>n>>c; for(int i=0;i<n;i++){ scanf("%d",&a[i]); } sort(a,a+n); for(int i=0;i<n;i++){ ans+=upper_bound(a,a+n,a[i]+c)-lower_bound(a,a+n,a[i]+c); } cout<<ans; return 0; } ``` 有些难理解
by glx123 @ 2023-08-20 21:26:13


详解见此题第二篇题解,了解一下两个函数
by glx123 @ 2023-08-20 21:27:28


枚举 a ,找到对应的b
by glx123 @ 2023-08-20 21:28:17


谢谢,大佬
by wuzhuoran @ 2023-08-21 19:22:24


|