페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#2276

[중등부] 2024 KOI 2차대회 대비 모의고사 (1주차)

스위치 누르기2
서브태스크
1초 1024MB

문제

N 개의 스위치가 있다. 각 스위치의 상태는 0 또는 1 이다.

  • 상태 0 인 스위치를 누르면 1 이 되고,

  • 상태 1 인 스위치를 누르면 0 이 된다.

안타깝게도 스위치의 크기가 너무 작고 손가락은 굵어서 어떠한 스위치를 누를 때 연속된 K개의 스위치가 함께 눌린다.

가장자리에 있는 스위치의 경우 벽에 인접해 있기에 마찬가지로 개별적으로 누르는 것이 불가능하고 무조건 K개가 함께 눌린다.

예를 들어 K = 3 이고 N=6 인 스위치의 상태가 0\ 0\ 1\ 0\ 0\ 1 인 경우 아래와 같이 두 번 누르면 모든 스위치를 0으로 만들 수 있다

초기 상태 : 0\ 0\ 1\ 0\ 0\ 1

한번 누름 : 0\ 0\ 0\ 1\ 1\ 1

두번 누름 : 0\ 0\ 0\ 0\ 0\ 0

NK 그리고 N개의 스위치 상태를 입력 받았을 때, 모든 스위치의 상태가 0이 되도록 스위치를 누르는 최소 횟수를 출력하자.


입력

첫 줄에 두 정수 N, K가 주어진다. (1 \le K \le N \le 300\ 000)

두 번째 줄에 N개의 스위치의 상태가 주어진다.


출력

첫 줄에 모든 스위치의 상태가 0이 되도록 스위치를 누르는 최소 횟수를 출력한다.

만약 모든 스위치의 상태를 0으로 만드는 것이 불가능하다면 -1을 출력한다.


부분문제

번호 점수 조건
#15점

K=1

#211점

K=2

#323점

N \le 6

#429점

N \le 200

#532점

추가 제한 없음


예제 #1

6 3
0 0 1 0 0 1
2

예제 #2

6 3
0 1 0 0 1 1
-1
로그인해야 코드를 작성할 수 있어요.