답안 #210767

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
210767 2020-03-18T10:27:13 Z Yojahuang 중앙값 배열 (balkan11_medians) C++14
100 / 100
109 ms 11640 KB
#include<bits/stdc++.h>
using namespace std;
using ll = long long;

int n;
set<int> G;

void addmin() {
	int v = *G.begin();
	cout << v << ' ';
	G.erase(G.find(v));
}

void addmax() {
	int v = *(--G.end());
	cout << v << ' ';
	G.erase(G.find(v));
}

int main(){
	ios::sync_with_stdio(0),cin.tie(0);
	int pre, v;
	while (cin >> n) {
		G.clear();
		for (int i = 1; i <= 2 * n - 1; ++i) {
			G.insert(i);
		}
		cin >> v;
		cout << v << ' ';
		pre = v;
		G.erase(G.find(pre));

		for (int i = 1; i < n; ++i) {
			cin >> v;
			if (v > pre) {
				if (G.find(v)  == G.end()) {
					addmax();
					addmax();
				}else {
					addmax();
					G.erase(G.find(v));
					cout << v << ' ';
				}
			}else if(v == pre) {
				addmin();
				addmax();
			}else if(v < pre) {
				if (G.find(v)  == G.end()) {
					addmin();
					addmin();
				}else {
					addmin();
					G.erase(G.find(v));
					cout << v << ' ';
				}
			}
			pre = v;
		}
		cout << '\n';
	}
	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 376 KB Output is correct
2 Correct 5 ms 376 KB Output is correct
3 Correct 5 ms 376 KB Output is correct
4 Correct 5 ms 376 KB Output is correct
5 Correct 5 ms 376 KB Output is correct
6 Correct 5 ms 376 KB Output is correct
7 Correct 5 ms 376 KB Output is correct
8 Correct 5 ms 376 KB Output is correct
9 Correct 5 ms 376 KB Output is correct
10 Correct 5 ms 376 KB Output is correct
11 Correct 5 ms 376 KB Output is correct
12 Correct 5 ms 384 KB Output is correct
13 Correct 5 ms 376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 504 KB Output is correct
2 Correct 8 ms 792 KB Output is correct
3 Correct 11 ms 1272 KB Output is correct
4 Correct 19 ms 2172 KB Output is correct
5 Correct 34 ms 3960 KB Output is correct
6 Correct 66 ms 7544 KB Output is correct
7 Correct 109 ms 11640 KB Output is correct