AT_abc150_d.[ABC150D] Semi Common Multiple
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个长度为 N 的正整数序列 A={a1,a2,…,aN},其中每个 ai 都是偶数,以及一个整数 M。
对于任意的 k(1≤k≤N),如果存在一个非负整数 p,使得 X=ak×(p+0.5),则称正整数 X 为 A 的“半公倍数”。
请你求出 1 到 M 之间(包含 1 和 M)的正整数中,有多少个是 A 的半公倍数。
输入格式
输入通过标准输入给出,格式如下:
N M a1 a2 … aN
输出格式
输出 1 到 M 之间 A 的半公倍数的个数。
输入输出样例
输入#1
2 50 6 10
输出#1
2
输入#2
3 100 14 22 40
输出#2
0
输入#3
5 1000000000 6 6 2 6 2
输出#3
166666667
说明/提示
限制条件
- 1≤N≤105
- 1≤M≤109
- 2≤ai≤109
- 每个 ai 都是偶数。
- 输入均为整数。
样例解释 1
- 15=6×2.5
- 15=10×1.5
- 45=6×7.5
- 45=10×4.5
因此,15 和 45 是 A 的半公倍数。在 1 到 50 之间没有其他 A 的半公倍数,所以答案为 2。
样例解释 2
答案也有可能为 0。