AT_abc466_f [ABC466F] Many Mod Calculation

题目描述

给定整数 $N$,$X$,以及一个长度为 $N$ 的正整数序列 $A = (A_1, A_2, \ldots, A_N)$。 对于非负整数 $x$,定义函数 $f(x) = (\ldots((x \bmod A_1) \bmod A_2) \ldots ) \bmod A_N$。 请你计算在 $1$ 到 $X$ 之间(含两端)的整数 $x$ 中,有多少个满足 $f(x) = 0$ 的 $x$。 输入包含 $T$ 组测试数据,请分别输出每组的答案。

输入格式

输入由标准输入给出,格式如下: > $T$ > $\text{case}_1$ > $\text{case}_2$ > $\vdots$ > $\text{case}_T$ 每组测试数据格式如下: > $N$ $X$ $A_1$ $A_2$ $\ldots$ $A_N$

输出格式

按顺序输出每组测试数据的答案,每行一个答案。

说明/提示

### 样例说明 1 以第一组测试数据为例。 例如,当 $x=7$ 时,有 $f(7) = (((7 \bmod 5) \bmod 2)\bmod 3) = (2 \bmod 2)\bmod 3 = 0 \bmod 3 = 0$。 在 $1$ 到 $7$ 之间,有四个整数 $x$ 满足 $f(x)=0$,分别是 $x=2,4,5,7$。 ### 数据范围 - $1\le T\le 2\times 10^5$ - $1\le N\le 2\times 10^5$ - 所有测试数据的 $N$ 之和不超过 $2\times 10^5$ - $1\le X\le 10^{18}$ - $1\le A_i\le 10^{18}$ - 所有输入均为整数。 由 ChatGPT 5 翻译