Submission #348950

#TimeUsernameProblemLanguageResultExecution timeMemory
348950ali_tavakoliXOR Sum (info1cup17_xorsum)C++14
7 / 100
100 ms4332 KiB
//In The Name Of Allah
#include<bits/stdc++.h>
using namespace std;

typedef long long ll;
#define pb push_back
#define F first
#define S second
#pragma GCC optimize("Ofast")

const int maxn = 1e6 + 5, mxn = 4e3 + 5;

int n, a[maxn], cnt[maxn];

void sub1()
{
	ll ans = 0;
	for(int i = 0; i < n; i++)
		for(int j = i; j < n; j++)
			ans ^= (a[i] + a[j]);
	cout << ans << '\n';
}

void sub2()
{
	ll ans = 0;
	for(int i = 0; i < n; i++)
		cnt[a[i]] ++;
	for(int i = 0; i < mxn; i++)
		for(int j = i; j < mxn; j++)
			if((cnt[i] * cnt[j]) % 2)
				ans ^= (i + j);
	cout << ans << '\n';
}

int main()
{
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	auto t = clock();
	cin >> n;
	for(int i = 0; i < n; i++)
		cin >> a[i];
	
	if(n <= (4e3))
		sub1();
	else
		sub2();
}

Compilation message (stderr)

xorsum.cpp: In function 'int main()':
xorsum.cpp:39:7: warning: unused variable 't' [-Wunused-variable]
   39 |  auto t = clock();
      |       ^
#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...