# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
465959 | 2021-08-17T12:44:58 Z | Sench2006 | Xor Sort (eJOI20_xorsort) | C++14 | 67 ms | 1016 KB |
#include <bits/stdc++.h> using namespace std; #define ll long long #define ar array #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() #define lb lower_bound #define ub upper_bound #define FOR(i, a, b) for(auto i = a; i < b; i++) #define FORD(i, a, b) for(auto i = a - 1; i >= b; i--) #define trav(x, v) for(auto x : v) #define fastio ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); // ---------------------------------------- Solution ---------------------------------------- // const int N = 1005; int s, n; int a[N]; void solve1() { vector <pair<int, int>> ans; for(int i = 1; i <= (1 << 20); i *= 2) { FOR(j, 1, n) { if((i&a[j])) { if(!(i&a[j + 1])) { ans.push_back({j + 1,j}); a[j + 1] ^= a[j]; } ans.push_back({j, j + 1}); a[j] ^= a[j + 1]; ans.push_back({j + 1, j}); a[j + 1] ^= a[j]; } } } cout << ans.size() << endl; FOR(i, 0, ans.size()) { cout << ans[i].first << " " << ans[i].second << endl; } } void solve2() { vector <pair<int, int>> ans; for(int i = 1; i <= (1 << 20); i *= 2) { FOR(j, 1, n) { if((i&a[j])) { if(!(i&a[j + 1])) { ans.push_back({j + 1,j}); a[j + 1] ^= a[j]; } ans.push_back({j, j + 1}); a[j] ^= a[j + 1]; } } } cout << ans.size() << endl; FOR(i, 0, ans.size()) { cout << ans[i].first << " " << ans[i].second << endl; } } void solve() { cin >> n >> s; FOR(i, 1, n + 1) { cin >> a[i]; } if (s == 1) solve1(); else solve2(); } int main() { fastio; int tests = 1; // cin >> tests; while (tests--) { solve(); } return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 204 KB | Output is correct |
2 | Correct | 1 ms | 204 KB | Output is correct |
3 | Incorrect | 4 ms | 332 KB | Not sorted |
4 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 204 KB | Output is correct |
2 | Correct | 1 ms | 204 KB | Output is correct |
3 | Incorrect | 4 ms | 332 KB | Not sorted |
4 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 204 KB | Output is correct |
2 | Correct | 1 ms | 204 KB | Output is correct |
3 | Correct | 3 ms | 332 KB | Output is correct |
4 | Correct | 11 ms | 484 KB | Output is correct |
5 | Correct | 52 ms | 836 KB | Output is correct |
6 | Correct | 50 ms | 832 KB | Output is correct |
7 | Correct | 52 ms | 864 KB | Output is correct |
8 | Correct | 49 ms | 848 KB | Output is correct |
9 | Correct | 55 ms | 888 KB | Output is correct |
10 | Correct | 49 ms | 840 KB | Output is correct |
11 | Correct | 49 ms | 972 KB | Output is correct |
12 | Correct | 52 ms | 944 KB | Output is correct |
13 | Correct | 55 ms | 856 KB | Output is correct |
14 | Correct | 55 ms | 832 KB | Output is correct |
15 | Correct | 67 ms | 1016 KB | Output is correct |