题目:https://www.luogu.com.cn/problem/P1102

 原题要求A-B=C,可将其转化为A-C=B,放入map后将A的数组值,改为B数组值,再求B数组每一个值在map出现次数之和。

 1 #include<iostream>
 2 #include<cmath>
 3 #include<stdio.h>
 4 #include<queue>
 5 #include<map>
 6 using namespace std;
 7 #define ll long long
 8 map<int,int> m;
 9 int main()
10 {
11     ll n,c,a[200007];
12     cin>>n>>c;
13     for(int i=1;i<=n;i++){
14         cin>>a[i];
15         m[a[i]]++;
16         a[i]-=c;
17     }
18     ll ans=0;
19     for(int i=1;i<=n;i++){
20         ans+=m[a[i]];
21     }
22     cout<<ans;
23     return 0;
24 }