# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
997953 | 2024-06-13T07:17:54 Z | piOOE | MalnaRISC (COI21_malnarisc) | C++17 | 1 ms | 348 KB |
#include <bits/stdc++.h> using namespace std; using ll = long long; void parallel(vector<vector<pair<int, int>>> &x, vector<vector<pair<int, int>>> &y) { if (x.size() < y.size()) { x.resize(y.size()); } for (int i = 0; i < y.size(); ++i) { x[i].insert(x[i].end(), y[i].begin(), y[i].end()); } } vector<vector<pair<int, int>>> merge(vector<int> a) { if (a.size() == 1) { return {}; } vector<int> l, r; for (int x : a) { (l.size() <= r.size() ? l : r).push_back(x); } auto x = merge(l), y = merge(r); parallel(x, y); x.push_back({}); for (int i = 0; i + 1 < a.size(); i += 2) { x.back().push_back({a[i], a[i + 1]}); } if (x.back().empty()) { x.pop_back(); } return x; } vector<vector<pair<int, int>>> sort(int l, int r) { if (l + 1 == r) { return {}; } int mid = l + r >> 1; auto x = sort(l, mid), y = sort(mid, r); parallel(x, y); vector<int> a(r - l, 0); iota(a.begin(), a.end(), l); auto z = merge(a); x.insert(x.end(), z.begin(), z.end()); return x; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; int m = n; n = 1 << __lg(n) + !!(n & (n - 1)); auto res = sort(0, n); cout << res.size() << '\n'; for (auto &t : res) { bool any = false; for (auto [i, j]: t) { if (i >= m || j >= m) { continue; } any = true; cout << "CMPSWP " << "R" << i + 1 << " " << "R" << j + 1 << " "; } if (any) { cout << '\n'; } } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 344 KB | not sorted |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 348 KB | not sorted |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 348 KB | not sorted |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 348 KB | not sorted |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 348 KB | not sorted |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 344 KB | not sorted |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 344 KB | not sorted |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 344 KB | not sorted |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 344 KB | not sorted |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 344 KB | not sorted |
2 | Halted | 0 ms | 0 KB | - |