제출 #1315545

#제출 시각아이디문제언어결과실행 시간메모리
1315545tarner_exemedians (balkan11_medians)C++20
5 / 100
34 ms5496 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define elif else if #define ft first #define sc second #define pb push_back #define pII pair<int,int> const int sizen = 2e6+11; const int oo = 1e16+11; int T[sizen]; int A[sizen]; int when[sizen]; int zajete[sizen]; int t = 1; int N; void solve() { cin >> N; int najstarszy = (2*N)-1; int najmlodszy = 1; for (int i = 1 ; i <= N ;i ++) { cin >> T[i]; } for (int i = 1; i < 2*N ; i++) { zajete[i] = 0; } A[1] = T[1]; zajete[T[1]]=1; for (int i = 2; i <= N ; i++) { if(T[i] == T[i-1]) { while(zajete[najmlodszy] == 1) { najmlodszy++; } while(zajete[najstarszy] == 1) { najstarszy--; } A[(i-1)*2] = najmlodszy; A[(i*2)-1] = najstarszy; zajete[najmlodszy] = 1; zajete[najstarszy] = 1; } elif(T[i] > T[i-1]) { while(zajete[najstarszy] == 1) { najstarszy--; } A[(i-1)*2] = T[i]; A[(i*2)-1] = najstarszy; zajete[T[i]]=1; zajete[najstarszy]=1; } elif(T[i] < T[i-1]) { while(zajete[najmlodszy] == 1) { najmlodszy++; } A[(i-1)*2] = T[i]; A[(i*2)-1]= najmlodszy; zajete[najmlodszy] = 1; zajete[T[i]] =1; } } //cout << N << "\n"; for (int i = 1 ; i < 2*N ; i++) { cout << A[i] << " "; } cout << "\n"; } signed main() { //cin >> t; while(t--) { solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...