제출 #199253

#제출 시각아이디문제언어결과실행 시간메모리
199253Andrei_Cotor중앙값 배열 (balkan11_medians)C++14
90 / 100
19 ms1912 KiB
#include<iostream> using namespace std; int st,dr,Viz[100005],Rez[100005],A[100005]; void addmn(int poz) { while(Viz[st]) st++; Rez[poz]=st; Viz[st]=1; } void addmx(int poz) { while(Viz[dr]) dr--; Rez[poz]=dr; Viz[dr]=1; } int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; cin>>n; for(int i=1; i<=n; i++) cin>>A[i]; Rez[1]=A[1]; Viz[A[1]]=1; st=1; dr=2*n-1; for(int i=2; i<=n; i++) { if(A[i]==A[i-1]) { addmn(2*i-2); addmx(2*i-1); } else if(A[i]>A[i-1]) { if(!Viz[A[i]]) { Rez[2*i-2]=A[i]; Viz[A[i]]=1; addmx(2*i-1); } else { addmx(2*i-2); addmx(2*i-1); } } else { if(!Viz[A[i]]) { Rez[2*i-2]=A[i]; Viz[A[i]]=1; addmn(2*i-1); } else { addmn(2*i-2); addmn(2*i-1); } } } for(int i=1; i<=2*n-1; i++) cout<<Rez[i]<<" "; cout<<"\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...