# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1141229 | Bilal_Coder | XOR Sum (info1cup17_xorsum) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
#ifndef ONLINE_JUDGE
#include "debug.h"
#else
#define debug(...)
#define debugArr(...)
#endif
using namespace std;
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#pragma GCC target("avx,avx2,fma")
template<typename... T>
void see(T&... args) { ((cin >> args), ...);}
#define seea(a , x , y) for(int i = x; i < y; i++){cin >> a[i];}
#define sees(s , n) for(int i = 0;i < n; i++){int x; cin >> x; s.insert(x);}
#define seev(v , n) for(int i = 0;i < n; i++){int x; cin >> x; v.push_back(x);}
#define ub(a, x) upper_bound(all(a), x)
#define lb(a, x) lower_bound(all(a), x)
#define rall(x) x.rbegin(), x.rend()
#define all(x) x.begin(), x.end()
#define pii pair<int , int>
#define sz(x) (int)x.size()
#define pq priority_queue
#define int long long
#define vec vector
#define arr array
const int inf = 1e18, N = 4e5 + 5;
void setIO(string s) {
freopen((s + ".in").c_str(), "r", stdin);
freopen((s + ".out").c_str(), "w", stdout);
}
void solve() {
// Code here
int n;
see(n);
vec<int> a;
seev(a , n);
int ans = 0;
for (int b = 0; b < 30; b++){
int c1 = 0 , c0 = 0;
for (int i = 0; i < n; i++){
if (a[i] & 1)
c1++;
else
c0++;
a[i] >>= 1;
}
ans ^= c0 * c1 * (1 << (b + 1));
}
cout << ans << "\n";
return;
}
int32_t main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
// setIO("");
solve();
}