题目:https://www.luogu.com.cn/problem/P1102ios
原题要求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 }