A-B 數對

題目: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 }
相關文章
相關標籤/搜索