CF1140E.Palindrome-less Arrays

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Let's denote that some array bb is bad if it contains a subarray bl,bl+1,,brb_l, b_{l+1}, \dots, b_{r} of odd length more than 11 ( l<rl < r and rl+1r - l + 1 is odd) such that i{0,1,,rl}\forall i \in \{0, 1, \dots, r - l\} bl+i=brib_{l + i} = b_{r - i} .

If an array is not bad, it is good.

Now you are given an array a1,a2,,ana_1, a_2, \dots, a_n . Some elements are replaced by 1-1 . Calculate the number of good arrays you can obtain by replacing each 1-1 with some integer from 11 to kk .

Since the answer can be large, print it modulo 998244353998244353 .

输入格式

The first line contains two integers nn and kk ( 2n,k21052 \le n, k \le 2 \cdot 10^5 ) — the length of array aa and the size of "alphabet", i. e., the upper bound on the numbers you may use to replace 1-1 .

The second line contains nn integers a1,a2,,ana_1, a_2, \dots, a_n ( ai=1a_i = -1 or 1aik1 \le a_i \le k ) — the array aa .

输出格式

Print one integer — the number of good arrays you can get, modulo 998244353998244353 .

输入输出样例

  • 输入#1

    2 3
    -1 -1
    

    输出#1

    9
    
  • 输入#2

    5 2
    1 -1 -1 1 2
    

    输出#2

    0
    
  • 输入#3

    5 3
    1 -1 -1 1 2
    

    输出#3

    2
    
  • 输入#4

    4 200000
    -1 -1 12345 -1
    

    输出#4

    735945883
    
首页