"""
출처:프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/64062
"""
# 풀이 과정
def solution(stones, k):
max_person = max(stones)
min_person = 1
result = []
while min_person <= max_person:
check = (max_person + min_person) // 2
count = 0
for s in stones:
if check > s:
count += 1
if count >= k:
break
else:
count = 0
else:
result.append(check)
min_person = check + 1
continue
max_person = check - 1
return max(result)