의도된 시간복잡도
🔒시간 제한
2.000 S메모리 제한
512 MB제출 수
10정답 수
4정답률
25.000%
문제 설명
$n$개의 정수가 차례대로 주어진다. 각 수가 주어질 때마다 다음을 따르는 프로그램을 작성하자.
- 지금 주어진 수가 홀수라면 지금까지 주어진 홀수 중 최솟값, 중앙값, 최댓값을 출력한다.
- 지금 주어진 수가 짝수라면 지금까지 주어진 짝수 중 최솟값, 중앙값, 최댓값을 출력한다.
$k$개의 수에서 중앙값이란 다음으로 정의된다.
- $k$개의 수를 비내림차순으로 정렬한다.
- 앞에서 $⌈\frac{k}{2}⌉$번째로 오는 수가 중앙값이다.
입력 설명
첫째 줄에 주어지게 될 정수의 개수 $n$이 주어진다. $(1 ≤ n ≤ 200,000)$
둘째 줄에 $n$개의 정수가 공백으로 구분되어 차례대로 주어진다. 이 수는 $10^6$을 넘지 않는 양의 정수이다.
출력 설명
출력은 $n$개의 줄에 걸쳐 이뤄진다. $i$번째 줄에는 $i$번째 수가 주어졌을 때의 출력 결과를 공백으로 구분하여 차례대로 출력해야 한다.
예시 1
입력
8
8 7 6 5 4 3 2 1
출력
8 8 8
7 7 7
6 6 8
5 5 7
4 6 8
3 5 7
2 4 8
1 3 7
기여
만든 사람 : pill27211