Submission #1312857

#TimeUsernameProblemLanguageResultExecution timeMemory
1312857zbyszkomedians (balkan11_medians)C++20
5 / 100
66 ms8752 KiB
#include <bits/stdc++.h>
using namespace std;

using ull = unsigned long long;
using ll = long long;
using pii = pair<ull,ull>;
#define x first
#define y second

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    int n;cin >> n;
    vector<int> med(n);
    for(int& i:med){
        cin >> i;
    }
    int l=1,r=2*n-1;
    if(med[0]==l) l++;
    if(med[0]==r) r--;
    set<int> was;
    cout << med[0] << " ";
    was.insert(med[0]);
    for(int i=1;i<n;i++){
        if(med[i]==med[i-1]){
            cout << l << " " << r << " ";
            was.insert(l);
            was.insert(r);
            while(was.find(l)!=was.end()){
                l++;
            }
            while(was.find(r)!=was.end()){
                r--;
            }
        }
        else if(med[i]>med[i-1]){
            cout << med[i] << " " << r << " ";
            was.insert(med[i]);
            was.insert(r);
            while(was.find(l)!=was.end()){
                l++;
            }
            while(was.find(r)!=was.end()){
                r--;
            }
        }
        else{
            cout << med[i] << " " << l << " ";
            was.insert(med[i]);
            was.insert(l);
            while(was.find(l)!=was.end()){
                l++;
            }
            while(was.find(r)!=was.end()){
                r--;
            }
        }
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...