만드는 중입니다

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

연강은 힘들어(Hard)

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

요약
n개의 교시 중 필수 수업 위치가 주어질 때, 연속된 수업의 최대 길이가 정확히 k인 시간표의 개수를 10^9+7로 나눈 나머지로 구합니다.
난이도

보통10점 중 6점

유형
동적 계획법, 누적 합, 문자열
정답자
아직 제출이 없습니다

문제

이 문제는 연강은 힘들어(Easy)의 상위 문제이고, 연강은 힘들어(Easy)에 이 문제의 정답 코드를 제출하여 맞힐 수 있다.

도훈이는 저번 학기 수강신청에 실패했다.

하루 일과는 1,2,…,n1,2,\ldots,n교시로 구성되고, nn개의 서로 다른 수업이 각각 하나의 서로 다른 교시를 차지한다. 이번 수강신청에서는 수강할 수업을 골라서 가장 많이 연속된 수업들이 정확히 kk교시를 이루도록 시간표를 짜고 싶다. kk교시짜리 연속 수업 묶음이 여러 번 나와도 상관없다.

하지만 반드시 수강해야 하는 필수 수업이 있다. 필수 수업을 고려하여 도훈이의 수강신청을 도와주자!

입력

첫 번째 줄에 두 정수 nn, kk가 공백으로 구분되어 주어진다.

두 번째 줄에 각 교시의 필수 수업 여부를 나타내는 nn개의 정수 a1,a2,…,ana_1,a_2,\ldots,a_n이 공백으로 구분되어 주어진다. aia_i는 ii교시의 수업이 필수 수업이면 11, 아니면 00이다.

출력

하루 1,2,…,n1,2,\ldots,n교시 중 가장 많이 연속된 수업들이 정확히 kk교시를 이루는 시간표의 가짓수를 109+710^9+7로 나눈 나머지를 출력한다.

제한

  • 1≤k≤n≤1061\le k\le n\le 10^6.
  • ai∈{0,1}a_i\in\{0,1\}.

예제2

  1. 예제 1

    입력
    5 2
    0 0 0 0 0
    
    예상 출력
    11
    
  2. 예제 2

    입력
    5 2
    0 1 0 0 1
    
    예상 출력
    4