# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
660566 | 2022-11-22T10:28:07 Z | 600Mihnea | 중앙값 배열 (balkan11_medians) | C++17 | 300 ms | 1356 KB |
bool home = 0; #include <bits/stdc++.h> using namespace std; const int N = 200000 + 7; int n; int b[N]; int a[N]; bool lib[N]; int nxt_up(int i) { for (int j = i; j <= 2 * n - 1; j++) { if (lib[j] == 1) { lib[j] = 0; return j; } } assert(0); } int nxt_down(int i) { for (int j = i; j >= 1; j--) { if (lib[j] == 1) { lib[j] = 0; return j; } } assert(0); } int main() { if (home == 0) { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); } else { freopen ("input.txt", "r", stdin); } cin >> n; for (int i = 1; i <= 2 * n - 1; i++) { lib[i] = 1; } for (int i = 1; i <= n; i++) { cin >> b[i]; } a[1] = nxt_up(b[1]); for (int i = 2; i <= n; i++) { if (i == 5) { ///break; } if (b[i] == b[i - 1]) { a[2 * i - 2] = nxt_up(1); a[2 * i - 1] = nxt_down(2 * n - 1); ///cout << "a\n"; continue; } if (b[i] < b[i - 1]) { if (lib[b[i]]) { a[2 * i - 2] = nxt_up(b[i]); a[2 * i - 1] = nxt_up(1); } else { a[2 * i - 2] = nxt_up(1); a[2 * i - 1] = nxt_up(1); } /// cout << "b\n"; continue; } if (b[i] > b[i - 1]) { if (lib[b[i]]) { a[2 * i - 2] = nxt_down(b[i]); a[2 * i - 1] = nxt_down(2 * n - 1); } else { a[2 * i - 2] = nxt_down(2 * n - 1); a[2 * i - 1] = nxt_down(2 * n - 1); } ///cout << "c\n"; continue; } assert(0); } for (int i = 1; i <= 2 * n - 1; i++) { cout << a[i] << " "; } cout << "\n"; return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 0 ms | 212 KB | Output is correct |
3 | Correct | 0 ms | 340 KB | Output is correct |
4 | Correct | 0 ms | 212 KB | Output is correct |
5 | Correct | 0 ms | 212 KB | Output is correct |
6 | Correct | 0 ms | 212 KB | Output is correct |
7 | Correct | 0 ms | 212 KB | Output is correct |
8 | Correct | 0 ms | 212 KB | Output is correct |
9 | Correct | 0 ms | 212 KB | Output is correct |
10 | Correct | 0 ms | 212 KB | Output is correct |
11 | Correct | 1 ms | 212 KB | Output is correct |
12 | Correct | 1 ms | 340 KB | Output is correct |
13 | Correct | 1 ms | 340 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 340 KB | Output is correct |
2 | Correct | 10 ms | 340 KB | Output is correct |
3 | Correct | 36 ms | 420 KB | Output is correct |
4 | Correct | 130 ms | 716 KB | Output is correct |
5 | Execution timed out | 517 ms | 1064 KB | Time limit exceeded |
6 | Execution timed out | 1075 ms | 1124 KB | Time limit exceeded |
7 | Execution timed out | 1081 ms | 1356 KB | Time limit exceeded |