#2945. Semi Common Multiple

0

Semi Common Multiple

Semi Common Multiple

题目描述

给定一个由 NN 个正偶数组成的序列 A=a1,a2,......aNA= {a_1,a_2,......a_N},以及一个整数 MM。 称正整数 XX 为 AA 的一个 半公倍数,当且仅当对任意 kk (1≤k≤N)(1 \leq k \leq N) 满足以下条件:

存在非负整数 pp 使得 X=ak×(p+0.5)X= a_k \times (p+0.5)。

求在区间 11 到 MM(含端点)之间的整数中,作为 AA 的半公倍数的个数。

输入格式

输入以标准输入给出,格式如下: NN MM a1a_1 a2a_2 ...... aNa_N

输出格式

输出区间 11 到 MM(含端点)之间作为 AA 的半公倍数的整数个数。

2 50
6 10
2
3 100
14 22 40
0
5 1000000000
6 6 2 6 2
166666667

提示

1≤N≤1051 \leq N \leq 10^5 1≤M≤1091 \leq M \leq 10^9 2≤ai≤1092 \leq a_i \leq 10^9 aia_i 是偶数。 输入中的所有数值均为整数。15=6×2.515 = 6 \times 2.5 15=10×1.515 = 10 \times 1.5 45=6×7.545 = 6 \times 7.5 45=10×4.545 = 10 \times 4.5

因此,1515 和 4545 是 AA 的半公倍数。在 11 到 5050 之间没有其他的半公倍数,所以答案为 22。
答案也可以为 00。

标签: AtCoder|abc150D

来源

AtCoder|abc150D