# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
318950 | 2020-11-03T14:48:11 Z | NachoLibre | XOR Sum (info1cup17_xorsum) | C++14 | 1600 ms | 30076 KB |
#include <bits/stdc++.h> using namespace std; const int N = 1000006, M = 30; int n, a[N], x; vector<pair<int, int> > v; void nextsort(int b) { vector<pair<int, int> > nv[2]; for(int i = 0; i < n; ++i) { v[i].first |= (a[v[i].second] & (1 << b)); nv[!!(v[i].first & (1 << 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; for(int i = 0; i < n; ++i) { while(r > i && ((v[r - 1].first + v[i].first) & (1 << 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 | 4 ms | 492 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1634 ms | 30076 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1634 ms | 30076 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 492 KB | Output is correct |
2 | Correct | 4 ms | 492 KB | Output is correct |
3 | Correct | 95 ms | 3476 KB | Output is correct |
4 | Correct | 91 ms | 3348 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 492 KB | Output is correct |
2 | Correct | 4 ms | 492 KB | Output is correct |
3 | Execution timed out | 1634 ms | 30076 KB | Time limit exceeded |
4 | Halted | 0 ms | 0 KB | - |