R00351
흐르는 중앙값
레이팅
의견: 0
설명
정수가 하나씩 차례로 들어온다. \(i\)번째 정수까지 들어왔을 때, 지금까지 들어온 \(i\)개의 정수의 중앙값을 구하여라.
여기서 중앙값은 지금까지 들어온 수들을 크기 순으로 정렬했을 때 \(\lceil i/2 \rceil\)번째(즉 1-인덱스로 가운데, 짝수 개일 때는 가운데 두 값 중 작은 쪽) 값으로 정의한다.
각 정수가 들어올 때마다 그 시점의 중앙값을 출력하여라.
제약
- \(1 \le N \le 100\,000\)
- 각 정수는 \(1\) 이상 \(10^9\) 이하.
입력 형식
첫 줄에 정수 \(N\)이 주어진다.
둘째 줄에 차례로 들어오는 \(N\)개의 정수가 공백으로 주어진다.
출력 형식
각 정수가 들어올 때마다의 중앙값을 한 줄에 하나씩, 들어온 순서대로 출력한다.
예제 1
입력
5
5 2 8 1 9
출력
5
2
5
2
5설명
들어온 순서대로 중앙값을 계산한다: 5 → 5, 5 2 → 2, 5 2 8 → 5, 5 2 8 1 → 2, 5 2 8 1 9 → 5.
예제 2
입력
2
10 4
출력
10
4설명
10이 들어오면 중앙값 10. 4가 들어오면 정렬 시 4 10이고 짝수 개이므로 작은 쪽 4가 중앙값이다.
힌트
막혔나요? 코인으로 단계별 힌트를 잠금 해제하세요 — 첫 힌트는 가벼운 방향 제시, 뒤로 갈수록 더 많이 알려 줍니다. 문제를 풀면 모든 힌트가 무료로 공개됩니다.
문제 정보
riseoj 작성
출처 Original
태그
평가 및 의견
흐르는 중앙값
개별 의견
아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.
풀이 제출
흐르는 중앙값
게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다.
로그인하고 제출하기