测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A6926. 避免K分割

编程题 普及/提高-
知识点

题目描述

给定一个长度为 $N$ 的整数序列 $A=(A_1,A_2,\dots,A_N)$ 和一个整数 $K$。我们将 $A$ 切分成若干个连续的子序列(等价于在相邻位置之间选择是否放置分割线,共有 $2^{N-1}$ 种切法)。

请你统计:有多少种切分方式,使得切分后的任意一个子序列的元素和都不等于 $K$。将答案对 $998244353$ 取模后输出。

输入格式

第一行:两个整数 $N$ 与 $K$

第二行:$A_1\ A_2\ \dots\ A_N$

输出格式

输出格式

输出一个整数,表示满足条件的切分方式数对 $998244353$ 取模的结果。

输入输出样例

输入 #1
3 3
1 2 3
输出 #1
2

说明/提示

$1 \le N \le 2\times 10^5$

$-10^{15} \le K \le 10^{15}$

$-10^9 \le A_i \le 10^9$

对于样例:

所有切分方式中,满足“每一段和都 $\neq 3$”的有两种:
$(1),(2,3)$:各段和为 $1$ 与 $5$;
$(1,2,3)$:整段和为 $6$。
像 $(1,2),(3)$ 因为存在和等于 $3$,因此不计入。
上一题 去做题 下一题