Submission #1146507

#TimeUsernameProblemLanguageResultExecution timeMemory
1146507NurislamXOR Sum (info1cup17_xorsum)C++20
0 / 100
233 ms4164 KiB
#include <bits/stdc++.h>

using namespace std;

//#define int long long

typedef long long ll;

signed main(){
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr); cout.tie(nullptr);
	
	int n;
	cin >> n;
	vector<int> a(n);
	for(int  &i : a)cin >> i;
	
	vector<int> cnt(30, 0);
	
	ll ans = 0;
	for(int &i : a){
		for(int ms = 0; ms < 30; ms ++ ) {
			if(i >> ms & 1)cnt[ms] += 1;
		};
		
		vector<int> ncnt(31, 0);
		for(int ms = 0; ms < 30; ms++ ) {
			if(i >> ms & 1){
				ncnt[ms+1] += cnt[ms];
			}else ncnt[ms] += cnt[ms];
		};
		
		//for(int x = 0; x < 7; x ++)cout << cnt[x];
		//cout << '\n';
		//for(int x = 0; x < 7; x ++)cout << ncnt[x];
		//cout << '\n';
		
		ll res = 0;
		for(int ms = 0; ms < 30; ms ++ ) {
			if(ncnt[ms]) res |= (1<<ms);
		};
		//cout << res << '\n';
		ans ^= res;
	}
	
	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...