#include #include #include //用 hash + map 的原因是不希望遍历 O(n^2) using namespace std; int main(){ unordered_map s; vector 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; }