代码:
#include <iostream>
#include <map>
using namespace std;
map<int, int> mii;
int main()
{
int n, c, sum = 0;
cin >> n >> c;
for (int i = 1; i <= n; ++i)
{
int x;
cin >> x;
mii[x]++;
}
for (auto v: mii)
{
sum += mii[v.first - c] * v.second;//这里原题说每一个搭配算不同的
}
cout << sum << endl;
return 0;
}
第三个样例是由100000个1和100000个2组成的,c是1
自己跑了一下n=40、c=1、20个1和20个2的数据,就错在我打注释的那一行,本蒟蒻手算都不知道错哪里了,求大佬解释