# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
522012 | maks007 | XOR Sum (info1cup17_xorsum) | C++14 | 1694 ms | 36452 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
int main(void) {
int n;
cin>> n;
vector <int> a(n);
map <int,int> idx;
for(int i = 0; i < n; i ++ ) {
cin >> a[i];
idx[a[i]] ++;
}
int ans = 0;
sort(a.begin(), a.end());
a.erase(unique(a.begin(), a.end()), a.end());
for(int i = 0; i < a.size(); i ++) {
for(int j = 0; j < a.size(); j ++) {
if(a[j] < a[i]) {
if(idx[a[i]]%2 and idx[a[j]]%2) {
ans ^= (a[i] + a[j]);
}
}else if(a[j] == a[i]){
int col = idx[a[i]] * (idx[a[i]] + 1) / 2;
if(col % 2 == 1) {
ans ^= (a[i] + a[j]);
}
}
}
}
cout << ans;
return false;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |