만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

악보 만들기

면접 대비

시간 제한1초메모리 제한1024 MB

요약
음표와 쉼표로 이루어진 악보를 페이지당 X개 이하의 기호로 나눕니다. 마지막 페이지를 제외한 각 페이지가 연속된 쉼표 K개로 끝나도록 할 때 필요한 최소 페이지 수를 구합니다.
난이도

보통10점 중 5점

유형
동적 계획법, 슬라이딩 윈도우
정답자
아직 제출이 없습니다

문제

오케스트라 연주자는 쉬는 시간에 악보를 넘긴다.

모든 음표와 쉼표의 음길이는 11초라고 가정한다. 연주자는 쉼표일 때 쉴 수 있고, 한 번에 쉬는 시간이 KK초 이상이어야 악보를 넘길 수 있다. 즉, 악보의 마지막 장을 제외한 모든 장의 끝에는 KK개의 쉼표가 연속해서 있어야 한다. 악보 한 장에는 음표와 쉼표를 합해 최대 XX개까지 적을 수 있다.

이 조건을 지키면서 모든 기호를 순서대로 기록하는 데 필요한 악보 페이지 수의 최솟값을 구하는 프로그램을 작성하시오.

입력

첫 번째 줄에 기호의 개수 NN, 악보 한 장에 쓸 수 있는 기호의 개수 XX, 페이지를 넘기는 데 필요한 쉼표의 개수 KK가 공백으로 구분되어 주어진다. (1≤K<X<N≤200 0001 \le K < X < N \le 200\,000)

두 번째 줄에 기호를 나타내는 NN개의 정수 AiA_i가 공백으로 구분되어 주어진다. (Ai∈{0,1}A_i \in \{0, 1\})

Ai=0A_i=0이면 쉼표이고, Ai=1A_i=1이면 음표이다.

출력

필요한 악보 페이지 수의 최솟값을 출력한다. 조건을 만족하는 악보를 만들 수 없다면 −1-1을 출력한다.

힌트

실제로 악보를 작성하는 방법과는 다를 수 있다.

예제2

  1. 예제 1

    입력
    10 3 1
    1 1 0 1 0 0 1 0 1 1
    
    예상 출력
    4
    
  2. 예제 2

    입력
    7 3 2
    1 0 0 0 1 0 1
    
    예상 출력
    -1