#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 time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |