Submission #1328905

#TimeUsernameProblemLanguageResultExecution timeMemory
1328905arman.khachatryanmedians (balkan11_medians)C++20
100 / 100
80 ms11264 KiB
#include <bits/stdc++.h>
using namespace std;
int main() {
    int n;
    cin>>n;
    set<int> st;
    int b[n+2], c[2*n+2], j, k;
    for(int i=1; i<=2*n-1; i++){
        st.insert(i);
    }
    for(int i=1; i<=n; i++){
        cin>>b[i];
    }
    cout<<b[1]<<" ";
    st.erase(b[1]);
    for(int i=2; i<=n; i++){
        if(b[i]>b[i-1]){
            cout<<*st.rbegin()<<" ";
            st.erase(*st.rbegin());
            if(st.find(b[i])==st.end()){
                cout<<*st.rbegin()<<" ";
                st.erase(*st.rbegin());
            }else{
                cout<<b[i]<<" ";
                st.erase(b[i]);
            }
        }else if(b[i]<b[i-1]){
            cout<<*st.begin()<<" ";
            st.erase(st.begin());
            if(st.find(b[i])==st.end()){
                cout<<*st.begin()<<" ";
                st.erase(st.begin());
            }else{
                cout<<b[i]<<" ";
                st.erase(b[i]);
            }
        }else{
            cout<<*st.begin()<<" "<<*st.rbegin()<<" ";
            st.erase(st.begin());
            st.erase(*st.rbegin());
        }
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...