Submission #1139581

#TimeUsernameProblemLanguageResultExecution timeMemory
1139581Halym2007XOR Sum (info1cup17_xorsum)C++17
0 / 100
93 ms4164 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define sz size() #define ff first #define ss second #define pb push_back #define pii pair <int, int> #define dur exit(0) #define dur1 return(0) const int N = 1e6 + 5; const int BIT = 31; int n, a[N]; map <int, int> val; int main () { // freopen ("input.txt", "r", stdin); ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); cin >> n; for (int i = 1; i <= n; ++i) { cin >> a[i]; } int jogap = 0; for (int bit = BIT - 1; bit >= 0; bit--) { // jogabyn bit-njy bit-y 1-my yada 0-my // ony sanamaly if (bit > 4) continue; ll sana = 0; for (int i = 1; i <= n; ++i) { if (a[i]>>bit&1) { int san = 0; san |= (1<<bit); for (int j = bit - 1; j >= 0; j--) { san >>= 1; san |= 1; if (a[i]>>j&1) { sana += val[san]; san ^= 1; } } if (bit and (a[i] >> (bit - 1) & 1)) { sana++; } for (int j = bit - 1; j >= 0; j--) { san >>= 1; if (a[i]>>j&1) { san |= 1; val[san]++; } } } else { if (bit and (a[i] >> (bit - 1) & 1)) { sana++; } } // ozunem barmaly variant bar } val.clear(); if (sana % 2) { jogap |= (1 << bit); } // if (sana > 0) { // cout << bit << " " << sana << "\n"; // } } cout << jogap << "\n"; }
#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...