Coffee Break 001
コンテスト日時
2021/06/05 (Sa) 17:30 - 20:00

C - Π(A_i--)

Darjeeling
2
s
1024
MB
450

問題文

正整数のみからなる長さ $N$ の数列 $A=(A_1,A_2,...,A_N)$ が与えられます。
この数列に次の操作を(実行可能な限り)何度でも行ってよいとき、数列 $A$ の値の総積、すなわち $A_1 \times A_2 \times \dots \times A_N$ を $P$ と等しくできるか判定してください。

  • 数列 $A$ の中から値が $2$ 以上の要素を $1$ つ選択し、その要素を $1$ 減算する。

制約

  • $1 \le N \le 100$
  • $1 \le P,A_i \le 10^5$
  • 入力は全て整数である

入力

入力は以下の形式で与えられる。

$N$ $P$
$A_1$ $A_2$ $\dots$ $A_N$

出力

数列 $A$ の総積を $P$ と等しくできるなら Yes 、そうでないなら No と $1$ 行に出力せよ。

入力例 1
3 24 2 4 5
出力例 1
Yes

例えば、以下の手順で操作することにより、数列の $A$ の値の総積を $24$ にすることができます。

  • $A_2$ を $1$ 減算。数列 $A$ は $(2,3,5)$ となる。
  • $A_3$ を $1$ 減算。数列 $A$ は $(2,3,4)$ となる。
入力例 2
3 343 6 7 8
出力例 2
No

どのように操作を行っても、数列 $A$ の値の総積を $343$ にすることはできません。

提出
C++23 (g++ 12.2.0)