Submission #1302638

#TimeUsernameProblemLanguageResultExecution timeMemory
1302638yusifmXOR Sum (info1cup17_xorsum)C++20
0 / 100
1705 ms165400 KiB
#pragma GCC optimize("O3")
#include <bits/stdc++.h>
#define ll long long
#define str string
#define pb push_back
#define pf push_front
#define in insert
#define all(v) v.begin(),v.end()
#define fastIO ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
const int sz=1000000,INF=1000000000;
using namespace std;
void solve()
{
    ll n,num,ans=0;
    cin>>n;
    vector<ll>nums;
    set<ll>Nums;
    map<ll,ll>counts,cnts;
    for(int i=0;i<n;i++)
    {
        cin>>num;
        Nums.in(num),counts[num]++;
    }
    for(auto Num:Nums)
    {
        nums.pb(Num);
    }
    for(int i=0;i<nums.size();i++)
    {
        for(int j=i;j<nums.size();j++)
        {
            cnts[nums[i]+nums[j]]+=counts[nums[i]]*counts[nums[j]];
        }
        cnts[2*nums[i]]+=counts[nums[i]]*(counts[nums[i]]-1)/2;
    }
    for(auto cnt:cnts)
    {
        if(cnt.second%2!=0)
        {
            ans^=cnt.first;
        }
    }
    cout<<ans;
}
int main()
{
    fastIO;
    ll t=1;
    //cin>>t;
    while(t--)
    {
        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...