#AT1484. D - Semi Common Multiple

D - Semi Common Multiple

D - 半公倍数

分值:400

问题描述

给定一个由$N$个正偶数构成的序列$A= {a_1,a_2,......a_N}$,以及一个整数$M$。

半公倍数是指满足以下条件的正整数$X$,对于每个$k$$(1 \leq k \leq N)$,都存在非负整数$p$,使得$X= a_k \times (p+0.5)$。

计算在$1$到$M$(包括$1$和$M$)之间半公倍数的个数。

约束

  • $1 \leq N \leq 10^5$
  • $1 \leq M \leq 10^9$
  • $2 \leq a_i \leq 10^9$
  • $a_i$为偶数。
  • 输入中的所有值都为整数。

输入

从标准输入中按以下格式给定:

NN MM

a1a_1 a2a_2 ...... aNa_N

输出

打印在$1$到$M$(包括$1$和$M$)之间半公倍数的个数。


2 50
6 10
2
  • $15 = 6 \times 2.5 $
  • $15 = 10 \times 1.5 $
  • $45 = 6 \times 7.5 $
  • $45 = 10 \times 4.5 $

因此,$15$和$45$是半公倍数。在$1$到$50$之间没有其他半公倍数,所以答案为$2$。


3 100
14 22 40
0

答案可能为$0$。


5 1000000000
6 6 2 6 2
166666667