A7532 | [ABC150D] Semi Common Multiple
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
给定一个长度为 $N$ 的正整数序列 $A = \{a_1, a_2, \ldots, a_N\}$,其中每个 $a_i$ 都是偶数,以及一个整数 $M$。
对于任意的 $k$($1 \leq k \leq N$),如果存在一个非负整数 $p$,使得 $X = a_k \times (p + 0.5)$,则称正整数 $X$ 为 $A$ 的“半公倍数”。
请你求出 $1$ 到 $M$ 之间(包含 $1$ 和 $M$)的正整数中,有多少个是 $A$ 的半公倍数。
对于任意的 $k$($1 \leq k \leq N$),如果存在一个非负整数 $p$,使得 $X = a_k \times (p + 0.5)$,则称正整数 $X$ 为 $A$ 的“半公倍数”。
请你求出 $1$ 到 $M$ 之间(包含 $1$ 和 $M$)的正整数中,有多少个是 $A$ 的半公倍数。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $M$ $a_1$ $a_2$ $\ldots$ $a_N$
> $N$ $M$ $a_1$ $a_2$ $\ldots$ $a_N$
输出格式
输出 $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 \leq N \leq 10^5$
- $1 \leq M \leq 10^9$
- $2 \leq a_i \leq 10^9$
- 每个 $a_i$ 都是偶数。
- 输入均为整数。
### 样例解释 1
- $15 = 6 \times 2.5$
- $15 = 10 \times 1.5$
- $45 = 6 \times 7.5$
- $45 = 10 \times 4.5$
因此,$15$ 和 $45$ 是 $A$ 的半公倍数。在 $1$ 到 $50$ 之间没有其他 $A$ 的半公倍数,所以答案为 $2$。
### 样例解释 2
答案也有可能为 $0$。
- $1 \leq N \leq 10^5$
- $1 \leq M \leq 10^9$
- $2 \leq a_i \leq 10^9$
- 每个 $a_i$ 都是偶数。
- 输入均为整数。
### 样例解释 1
- $15 = 6 \times 2.5$
- $15 = 10 \times 1.5$
- $45 = 6 \times 7.5$
- $45 = 10 \times 4.5$
因此,$15$ 和 $45$ 是 $A$ 的半公倍数。在 $1$ 到 $50$ 之间没有其他 $A$ 的半公倍数,所以答案为 $2$。
### 样例解释 2
答案也有可能为 $0$。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?