思路:把小于等于n的值放到哈希表里面,因为大于n的值根本
没有机会成为不动点,然后如果这个数字在数组里面出现过两次及其以上
证明他可以为两个数组都提供不动点,贡献度就为2,如果出现一次
那么只能为一个数组提供贡献度
#include <bits/stdc++.h>
using namespace std;
const int N=1e6+10;
int a[N];
long long ans;
map<int,int>mp;
int main() {
    int n;cin>>n;
    for(int i=1;i<=n*2;i++){
        cin>>a[i];
        if(a[i]<=n)//只记录比n小于等于的,否则没机会成为不动点
        mp[a[i]]++;
    }
    for(auto[key,value]:mp){
        if(value>=2)ans+=2;
        else if(value==1)ans+=1;
    }
    cout<<ans;
}
// 64 位输出请用 printf("%lld")