K번째 큰 값
의견: 0
정수가 하나씩 차례로 들어온다. 정수가 들어올 때마다, 지금까지 들어온 모든 정수 중에서 \(K\)번째로 큰 값을 구하여라.
아직 들어온 정수가 \(K\)개 미만이어서 \(K\)번째로 큰 값이 존재하지 않으면 \(-1\)을 출력한다.
(값이 같은 정수도 각각 따로 센다. 예를 들어 5 5가 들어온 상태에서 2번째로 큰 값은 5이다.)
- \(1 \le K \le N \le 100\,000\)
- 각 정수는 \(1\) 이상 \(10^9\) 이하.
첫 줄에 두 정수 \(N\), \(K\)가 주어진다.
둘째 줄에 차례로 들어오는 \(N\)개의 정수가 공백으로 주어진다.
각 정수가 들어올 때마다 \(K\)번째로 큰 값(없으면 \(-1\))을 들어온 순서대로 한 줄에 하나씩 출력한다.
5 2
3 1 5 4 2
-1
1
3
4
43: 1개뿐이라 \(-1\). 3 1: 2번째 큰 값 1. 3 1 5: 큰 순서 5,3,1이므로 2번째는 3. … 4: 5,4,3,1이므로 4. … 2: 5,4,3,2,1이므로 4.
3 1
10 20 5
10
20
20\(K=1\)이므로 매번 지금까지의 최댓값을 출력한다: 10, 20, 20.
막혔나요? 코인으로 단계별 힌트를 잠금 해제하세요 — 첫 힌트는 가벼운 방향 제시, 뒤로 갈수록 더 많이 알려 줍니다. 문제를 풀면 모든 힌트가 무료로 공개됩니다.
riseoj 작성
출처 Original
평가 및 의견
K번째 큰 값
아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.
풀이 제출
K번째 큰 값