#P14599. CF1093F 加强版

CF1093F 加强版

题目描述

Niko 有一个长度为 nn 的整数序列 aa 以及两个整数 k,lenk,\text{len},保证 ai[1,k]{1}a_i\in[1,k]\cup\{-1\}

求有多少种将 aa 中的 1-1 替换为 [1,k][1,k] 中的整数的方式,使得 aa 中不存在长度为 len\text{len} 的连续相同区间。答案对 109+710^9+7 取模。

输入格式

第一行三个正整数 n,k,lenn,k,\text{len}

第二行 nn 个整数 aia_i

输出格式

输出一行一个数,表示合法的方案数对 109+710^9+7 取模的结果。

5 2 3
1 -1 1 -1 2
2
6 3 2
1 1 -1 -1 -1 -1
0
10 42 7
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1
989891925

提示

对于所有数据,1n,k2×1061\le n,k\le2\times10^61lenn1\le\text{len}\le nai[1,k]{1}a_i\in[1,k]\cup\{-1\},输入均为整数。