CF992D Nastya and a Game

题目描述

$Nastya$ 在生日那天收到了一个大小为 $n$ 的数组,她想知道数组存放的序列中,有多少的子串满足其中所有的数的乘积是数的总和的 $k$ 倍。请帮她得到答案。

输入格式

第 $1$ 行,有 $2$ 个整数,分别表示数组的大小 $n$ 和倍数 $k$ 。 (数据范围: $1 \leqslant n \leqslant 2 \times 10^{5}$ , $1 \leqslant k \leqslant 10^5$ ) 第 $2$ 行,有 $n$ 个整数,表示数组的元素 $a_i$ 。 (数据范围: $1 \leqslant a_i \leqslant 10^8$ )

输出格式

仅 $1$ 个整数,表示符合条件的子串数量。

说明/提示

- 第 $1$ 组样例的解释: 只有 $1$ 子串 $\{1\}$ ,因为 $\frac{1}{1}=k=1$ ,所以它恰好是符合条件的。 - 第 $2$ 组样例的解释: $\{6,\ 3\}$ 中所有数的乘积是 $18$ ,总和是 $9$ ,因为 $\frac{18}{9}=k=2$ ,所以它符合条件。 $\{3,\ 8,\ 1\}$ 中所有数的乘积是 $24$ ,总和是 $12$ ,因为 $\frac{24}{12} = k = 2$ ,所以它也符合条件。 综上所述,共有 $2$ 个子串符合条件。 感谢@Sooke 提供翻译以及@ZqlwMatt 修正