Submission #1302647

#TimeUsernameProblemLanguageResultExecution timeMemory
1302647yusifmXOR Sum (info1cup17_xorsum)C++20
11 / 100
1697 ms49796 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=1000001,INF=1000000000;
using namespace std;
void solve()
{
    ll n,num,ans=0;
    cin>>n;
    vector<ll>nums,counts(sz,0),cnts(sz,0);
    set<ll>Nums;
    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(int i=1;i<sz;i++)
    {
        if(cnts[i]!=0 && cnts[i]%2!=0)
        {
            ans^=i;
        }
    }
    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...