AT_abc349_f [ABC349F] Subsequence LCM
题目描述
给定一个长度为 $N$ 的正整数序列 $A=(A_1,A_2,\dots,A_N)$ 和一个正整数 $M$。请你求出 $A$ 的所有非空子序列(不要求连续),使得该子序列中所有元素的最小公倍数等于 $M$ 的子序列个数,并对 $998244353$ 取模。注意,如果两个子序列在序列上选取的位置不同,即使它们的元素相同,也视为不同的子序列。另外,当子序列只包含一个元素时,该元素本身即为最小公倍数。
输入格式
输入从标准输入中给出,格式如下:
> $N$ $M$ $A_1$ $A_2$ $\ldots$ $A_N$
输出格式
输出一个整数,表示满足条件的子序列个数对 $998244353$ 取模后的结果。
说明/提示
## 限制条件
- $1 \leq N \leq 2 \times 10^5$
- $1 \leq M \leq 10^{16}$
- $1 \leq A_i \leq 10^{16}$
- 输入均为整数
## 样例解释 1
$A$ 的子序列中,最小公倍数为 $6$ 的有 $(2,3)$、$(2,3,6)$、$(2,6)$、$(3,6)$、$(6)$ 共 $5$ 个。
## 样例解释 2
请注意,即使子序列的元素相同,只要选取的位置不同,也视为不同的子序列。
由 ChatGPT 4.1 翻译