題目: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 }