27 lines
591 B
C++
27 lines
591 B
C++
#include <unordered_map>
|
||
#include <vector>
|
||
#include <iostream>
|
||
//用 hash + map 的原因是不希望遍历 O(n^2)
|
||
using namespace std;
|
||
int main(){
|
||
unordered_map<long long, int> s;
|
||
vector<long long> arr;
|
||
long long n, m;
|
||
cin >> n >> m;
|
||
long long tmp;
|
||
for(int i = 0; i < n; i++){
|
||
cin >> tmp;
|
||
arr.push_back(tmp);
|
||
s[tmp]++;
|
||
}
|
||
long long need;
|
||
long long js = 0;
|
||
for(int i = 0; i < n; i++){
|
||
need = arr[i] - m;
|
||
if(s.count(need)) js += s[need];//s[need]的值是 pair.seconds
|
||
//s.emplace(make_pair(arr[i], 1));//不行,如果arr[i]存在,会直接放弃插入
|
||
}
|
||
cout << js << endl;
|
||
return 0;
|
||
}
|