만드는 중입니다

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

연강은 힘들어(Easy)

면접 대비

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

요약
필수 교시를 모두 포함하고, 연속으로 선택된 교시의 최장 구간 길이가 정확히 k인 시간표의 수를 10^9+7로 나눈 나머지로 구합니다.
난이도

보통10점 중 5점

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

문제

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

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

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

예제 1에서 가능한 경우들 중 일부.

두 경우 모두 가장 많이 연속된 수업들이 정확히 22교시를 이룬다.

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

입력

첫 번째 줄에 두 정수 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≤3 0001 \le k \le n \le 3\,000.
  • ai=0a_i = 0.

예제1

  1. 예제 1

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