Submission #761298

#TimeUsernameProblemLanguageResultExecution timeMemory
761298BidoTeimamedians (balkan11_medians)C++17
100 / 100
19 ms3788 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; int main() { ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); int n; cin>>n; int b[n]; for(int i = 0; i < n; i++)cin>>b[i]; vector<int>ans; int mn = 1, mx = 2 * n - 1; bool used[2 * n]={0}; used[b[0]] = 1; ans.push_back(b[0]); auto addMax = [&](){ while(used[mx])mx--; ans.push_back(mx); used[mx]=1; }; auto addMin = [&](){ while(used[mn])mn++; ans.push_back(mn); used[mn]=1; }; for(int i = 1; i < n; i++){ if(b[i] == b[i - 1]){ addMax(); addMin(); } else if(b[i] > b[i - 1]){ addMax(); if(!used[b[i]]){ ans.push_back(b[i]); used[b[i]] = 1; } else addMax(); } else{ addMin(); if(!used[b[i]]){ ans.push_back(b[i]); used[b[i]] = 1; } else addMin(); } } for(int i : ans)cout<<i<<' '; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...