제출 #1242887

#제출 시각아이디문제언어결과실행 시간메모리
1242887MateiKing80중앙값 배열 (balkan11_medians)C++20
100 / 100
147 ms11048 KiB
#include <bits/stdc++.h>

using namespace std;

set<int> s;

int main() {
	int n;
	cin >> n;
	for (int i = 1; i <= 2 * n - 1; i ++)
		s.insert(i);
	int x;
	cin >> x;
	s.erase(x);
	cout << x << " ";
	int last = x;
	for (int i = 1; i < n; i ++) {
		cin >> x;
		if (s.count(x)) {
			cout << x << " ";
			s.erase(x);
			if (last < x) {
				cout << (*s.rbegin()) << " ";
				s.erase(*s.rbegin());
			} else {
				cout << (*s.begin()) << " ";
				s.erase(*s.begin());
			}
		} else {
			if (last <= x) {
				cout << (*s.rbegin()) << " ";
				s.erase(*s.rbegin());
			} else {
				cout << (*s.begin()) << " ";
				s.erase(*s.begin());
			}
			if (last < x) {
				cout << (*s.rbegin()) << " ";
				s.erase(*s.rbegin());
			} else {
				cout << (*s.begin()) << " ";
				s.erase(*s.begin());
			}
		}
		last = x;
	}
	cout << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...