@[jinzhaoming](/user/813812) 就这能过这么多点????
您写的时间复杂度为 $O(w)$,其中 $w$ 表示值域,显然这是过不去的。建议思考二分。
by Eirin_Yagokoro @ 2024-03-09 20:52:03
请问如何二分?
by jinzhaoming @ 2024-03-09 20:58:02
AC
求关
```cpp
#include<bits/stdc++.h>
using namespace std;
using namespace std;
typedef long long LL;
LL a[200001];
map<LL,LL> m;
int main() {
int n;
LL c;
LL ans=0;
cin >> n >> c;
for(int i=1;i<=n;i++) {
cin >> a[i];
m[a[i]]++;
a[i]-=c;
}
for(int i=1;i<=n;i++) ans+=m[a[i]];
cout << ans << endl;
return 0;
}
by HEROBRINEH @ 2024-03-09 21:13:51
@[HEROBRINEH](/user/1113507) 已关 是否互关
by jinzhaoming @ 2024-03-10 09:20:08
@[jinzhaoming](/user/813812) 那必须的
by HEROBRINEH @ 2024-03-10 12:34:27
“sum+=a[i]*a[c+i];”
这里int 爆了
by k423c @ 2024-03-11 20:45:06