还是少有的验证码,太少见了
by sel_fish @ 2019-05-31 21:30:26
字符串哈希才pj-,您觉得数字哈希值多少呢
~~您怕是对高端算法有什么误解~~
by SSerxhs @ 2019-05-31 21:30:31
~~验证码是你交题交太多了吧~~
by SSerxhs @ 2019-05-31 21:30:51
@[SSerxhs](/space/show?uid=29826) 可能我太菜了吧
by sel_fish @ 2019-05-31 21:31:16
@[sel_fish](/space/show?uid=197275) 哈希??不是二分吗??
by G_M_H @ 2019-06-01 09:07:38
@[G_M_H](/space/show?uid=130029) ???
by sel_fish @ 2019-06-01 15:50:43
@[sel_fish](/space/show?uid=197275)
```cpp
#include<cmath>
#include<cstdio>
#include<cctype>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int c[200010];
long long total;
int main() {
//freopen("testdata (1).in","r",stdin);
int a;
int b;
cin>>a>>b;
for(int i=1; i<=a; i++) {
cin>>c[i];
}
sort(c+1,c+a+1);
int ff1,ff2,flag=0xcfffffff;
for(int j=a; j>=1; j--) {
int l,r,mid;
ff1=j;
ff2=1;
l=1;
r=a;
while(r>=l) {
mid=(l+r)/2;
if(c[j]-c[mid]<b) {
r=mid-1;
} else if(c[j]-c[mid]>b) {
l=mid+1;
} else {
r=mid-1;
ff1=min(ff1,mid);
}
}
l=1;
r=a;
while(r>=l) {
mid=(l+r)/2;
if(c[j]-c[mid]<b) {
r=mid-1;
} else if(c[j]-c[mid]>b) {
l=mid+1;
} else {
l=mid+1;
ff2=max(ff2,mid);
}
}
if(ff2>=ff1&&c[j]-c[ff1]==b)
total+=ff2-ff1+1;
}
cout<<total;
return 0;
}
```
by G_M_H @ 2019-06-01 17:53:56