Submission #1315568

#TimeUsernameProblemLanguageResultExecution timeMemory
1315568tarner_exemedians (balkan11_medians)C++17
100 / 100
34 ms5376 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define elif else if #define sc second #define ft first const int sizen = 2e6+11; const int oo = 1e16+11; int T[sizen]; int A[sizen]; int visited[sizen]; int N; int t = 1; void solve() { cin >> N; for(int i = 1 ;i <= N ; i++) { cin >> T[i]; } for(int i = 1 ; i < N*2 ; i ++) { visited[i] = 0; } int sm = 1; int bg = (2*N)-1; A[1] = T[1]; visited[T[1]] = 1; for(int i = 2 ; i <= N ; i++) { if(T[i] == T[i-1]) { while(visited[bg] != 0) { bg--; } while(visited[sm] != 0) { sm++; } A[(i-1)*2] = sm; A[i*2 - 1] = bg; visited[bg] = 1; visited[sm] = 1; } elif(T[i] < T[i-1]) { if(visited[T[i]] == 0) { A[i*2 - 1] = T[i]; visited[T[i]]=1; while(visited[sm] != 0) { sm ++; } A[(i-1)*2] = sm; visited[sm] = 1; } elif(1) { while(visited[sm] != 0) { sm ++; } A[(i-1)*2] = sm; visited[sm] = 1; while(visited[sm] != 0) { sm ++; } A[(i-1)*2+1] = sm; visited[sm] = 1; } } elif(1) { if(visited[T[i]] == 0) { A[i*2 - 1] = T[i]; visited[T[i]] = 1; while(visited[bg] != 0) { bg -- ; } A[(i-1)*2] = bg; visited[bg] = 1; visited[T[i]] = 1; } elif(1) { while(visited[bg] != 0) { bg -- ; } A[(i-1)*2] = bg; visited[bg] = 1; while(visited[bg] != 0) { bg -- ; } A[(i-1)*2+1] = bg; visited[bg] = 1; } } } for(int i = 1; i < N*2 ; i++) { cout << A[i] << " "; } cout << "\n"; } signed main() { while(t--) { solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...