CF884B Japanese Crosswords Strike Back

题目描述

一维日式填字游戏可以表示为一个长度为 $x$ 的二进制字符串。该填字游戏的编码是大小为 $n$ 的数组 $a$,其中 $n$ 是完全由 $1$ 组成的连续段数,$a_i$ 是第 $i$ 个连续段的长度。任意两个连续段之间不会接触或重叠。 例如: - 如果 $x=6$,填字游戏为 $111011$,则其编码数组为 $\{3,2\}$; - 如果 $x=8$,填字游戏为 $01101010$,则其编码数组为 $\{2,1,1\}$; - 如果 $x=5$,填字游戏为 $11111$,则其编码数组为 $\{5\}$; - 如果 $x=5$,填字游戏为 $00000$,则其编码数组为空数组。 Mishka 想要创建一个新的单行日式填字游戏。他已经选好了长度和编码。现在他需要检查,是否**恰好只有一个**填字游戏,使得其长度和编码都与他选择的完全相同。请帮助他完成这一检查。

输入格式

第一行包含两个整数 $n$ 和 $x$($1 \leq n \leq 100000$,$1 \leq x \leq 10^9$),分别表示编码中的元素个数和 Mishka 选择的填字游戏长度。 第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \leq a_i \leq 10000$),表示编码数组。

输出格式

如果恰好存在一个填字游戏,其长度和编码与给定的相同,输出 YES;否则输出 NO。

说明/提示

由 ChatGPT 5 翻译