Submission #1146494

#TimeUsernameProblemLanguageResultExecution timeMemory
1146494Alihan_8XOR Sum (info1cup17_xorsum)C++20
56 / 100
1695 ms12376 KiB
#include <bits/stdc++.h> using namespace std; signed main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; vector <int> a(n); for ( auto &u: a ) cin >> u; int ans = 0; for ( int b = 0; b < 30; b++ ){ array <int,2> cnt = {0, 0}; vector <int> q; for ( auto &u: a ){ q.push_back(u % (1 << b)); cnt[u >> b & 1] ^= 1; } int x = cnt[0] * cnt[1]; sort(q.begin(), q.end()); int m = q.size(), j = m; for ( int i = 0; i < m; i++ ){ while ( j - 1 >= 0 && q[j - 1] + q[i] >= (1 << b) ) --j; x ^= (m - max(i, j)) & 1; } ans |= x << b; } cout << ans << '\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...