Submission #1319540

#TimeUsernameProblemLanguageResultExecution timeMemory
1319540hssaan_arifXOR Sum (info1cup17_xorsum)C++20
7 / 100
1695 ms7816 KiB
// #include <bits/stdc++.h>
#include <iostream>
#include <cmath>
#include <algorithm>
#include <map>
#include <unordered_map>
#include <vector>
#include <iomanip>
#include <string>
#include <queue>
#include <set>
#include <deque>
using namespace std;

#define endl "\n"
#define pb push_back
#define int long long
#define fi first
#define se second

const int N = 3e5 + 5, M = 1e9 + 7, LG = 20;

int n , A[N] , x;

void solve(){
    cin >> n;

    map<int,int> mp;

    vector<int> a;

    for (int i=0 ; i<n ; i++){
        cin >> x;
        mp[x]++;
    }

    int ans = 0;
    for (auto i : mp){
        if(i.se&1) a.pb(i.fi);

        if (i.se > 1){
            ans ^= (2 * i.fi);
        }
    }


    
    n = a.size();

    for (int i=0 ; i<n ; i++){
        for (int j=i ; j>=0 ; j--){
            // cout << a[i]+a[j] << endl;
            ans ^= (a[i] + a[j]);
        }
    }

    cout << ans << endl;
}

signed main(){
    // freopen("" , "r" , stdin);
    // freopen("" , "w" , stdout);
    // cout << setprecision(30);
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    int ts = 1;
    // cin >> ts;
    while(ts--){
        solve();
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...