分析:
要求A-B=C有多少总组合,
A和B都是要组合的,但是C是固定的,我们可以求出A-C=B有多少种组合。
如果A-C存在B,那存在的答案就是A的个数乘B的个数。
可以用个map容器来统计。
#include<iostream>
using namespace std;
typedef long long ll;
#include<map>
int main()
{
map<ll,ll>m;
ll ans=0;
ll num;
ll N,C;
cin>>N>>C;
ll n=N;
while(n--)
{
cin>>num;
m[num]++;
}
map<ll,ll>::iterator it = m.begin();
while(it!=m.end())
{
ans+=m[it->first]*m[it->first-C];
it++;
}
cout<<ans<<endl;
}