# https://www.acmicpc.net/problem/15565
# 슬라이딩 윈도우
'''
라이언 인형이 딱 K개가 되는 구간만 확인해주면 된다
"항상 K개가 되는 것을 확인해야 하므로, 슬라이딩 윈도우를 활용할 수 있는 것이다"
라이언들의 idx들을 구해놓는다
0 4 6 9
K가 3이라면
0 4 6
4 6 9
라는 2개의 set가 존재하게 되며
처음 idx - 마지막 idx + 1 을 해주면
인형이 포함된 전체 인형의 개수가 된다
윈도우의 크기를 K로 유지하면
한칸씩 뒤로 밀어가며 계속 비교해가면 된
'''
N ,K = map(int,input().split())
dolls = list(map(int, sys.stdin.readline().split()))
lion = [] # 라이언 위치 저장
for i in range(len(dolls)) :
if dolls[i] == 1 :
lion.append(i)
if len(lion) < K :
print(-1)
exit(0)
start = 0
end = K - 1
res = int(1e9)
while end < len(lion) :
length = lion[end] - lion[start] + 1
res = min(length, res)
start += 1
end += 1
print(res)
'CodingTest' 카테고리의 다른 글
[Python][백준 1261 번] 알고스팟 (0) | 2021.11.26 |
---|---|
[Python][백준 12869 번] 뮤탈리스크 (0) | 2021.11.25 |
[Python][백준 11000번] 강의실 배정 (0) | 2021.11.23 |
[Python][백준 21608번] 상어초등학교 (0) | 2021.11.20 |
[Python][백준 17086번] 아기상어 2 (0) | 2021.11.19 |