```cpp
//gcc4.8.1 -std=c++11 -o
#include<iostream>
#include<unordered_set>
#include<algorithm>
using namespace std;
unordered_multiset<long long> nums;//哈希表实现的多重集合
int main()
{
long n,c,ans=0;
cin>>n;
nums.rehash(n);
cin>>c;
for(long i=0;i<n;i++)
{
long tmp;
cin>>tmp;
nums.insert(tmp);
}
for_each(nums.cbegin(),nums.cend(),
[c,&ans](const long& a){ans+=nums.count(a+c);});//lambda按引用捕获ans用于统计,按值捕获c用于计算
cout<<ans;
}
```
by constructor @ 2018-03-05 15:50:25
还是手打保险吧
by huangxuhan @ 2018-07-07 09:21:20