# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
318955 | 2020-11-03T14:57:39 Z | NachoLibre | XOR Sum (info1cup17_xorsum) | C++14 | 1255 ms | 30300 KB |
#include <bits/stdc++.h> using namespace std; const int N = 1000006, M = 30; int n, a[N], x; vector<pair<int, int> > v, nv[2]; void nextsort(int b) { nv[0].clear(); nv[1].clear(); b = (1 << b); for(int i = 0; i < n; ++i) { v[i].first |= (a[v[i].second] & b); nv[!!(v[i].first & b)].push_back(v[i]); } v.clear(); for(int i = 0; i < 2; ++i) { for(int j = 0; j < nv[i].size(); ++j) { v.push_back(nv[i][j]); } } } int xorcount(int b) { int r = n, dr = 0; b = (1 << b); for(int i = 0; i < n; ++i) { while(r > i && ((v[r - 1].first + v[i].first) & b)) --r; dr ^= ((n - r) & 1); if(r == i) ++r; } return dr; } int main() { ios::sync_with_stdio(0); cin.tie(0); cin >> n; for(int i = 1; i <= n; ++i) { cin >> a[i]; v.push_back({0, i}); if((n & 1) ^ 1) x ^= a[i]; } for(int i = 1; i < M; ++i) { nextsort(i - 1); x ^= (xorcount(i) << i); } cout << x << endl; return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 492 KB | Output is correct |
2 | Correct | 3 ms | 492 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1153 ms | 30276 KB | Output is correct |
2 | Correct | 999 ms | 29124 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1153 ms | 30276 KB | Output is correct |
2 | Correct | 999 ms | 29124 KB | Output is correct |
3 | Correct | 1167 ms | 30276 KB | Output is correct |
4 | Correct | 1077 ms | 29636 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 492 KB | Output is correct |
2 | Correct | 3 ms | 492 KB | Output is correct |
3 | Correct | 83 ms | 3720 KB | Output is correct |
4 | Correct | 84 ms | 3684 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 492 KB | Output is correct |
2 | Correct | 3 ms | 492 KB | Output is correct |
3 | Correct | 1153 ms | 30276 KB | Output is correct |
4 | Correct | 999 ms | 29124 KB | Output is correct |
5 | Correct | 1167 ms | 30276 KB | Output is correct |
6 | Correct | 1077 ms | 29636 KB | Output is correct |
7 | Correct | 83 ms | 3720 KB | Output is correct |
8 | Correct | 84 ms | 3684 KB | Output is correct |
9 | Correct | 1224 ms | 30300 KB | Output is correct |
10 | Correct | 1226 ms | 30272 KB | Output is correct |
11 | Correct | 1255 ms | 30276 KB | Output is correct |