AT_abc019_3 [ABC019C] 高橋くんと魔法の箱
题目描述
高桥君有一个魔法箱。
如果将一个整数放入这个箱子,就会输出与之对应的另一个整数。
输出的整数只由放入的整数决定,每次放入相同的整数都会得到相同的结果。
高桥君发现,对于任意整数 $x$,将 $x$ 放入箱子和将 $2x$ 放入箱子时,输出的整数是相同的。
现在给定高桥君放入箱子的 $N$ 个整数,请你求出最多能得到多少种不同的输出整数。
输入格式
输入通过标准输入按以下格式给出。
> $N$ $a_1$ $a_2$ ... $a_N$
- 第 $1$ 行输入一个整数 $N\ (1 \leq N \leq 10^5)$,表示高桥君放入箱子的整数个数。
- 第 $2$ 行输入 $N$ 个用空格分隔的整数,表示高桥君放入箱子的整数 $a_1, a_2, ..., a_N$。
- 保证 $1 \leq a_i \leq 10^9\ (1 \leq i \leq N)$。
- 保证对于 $i \neq j$,有 $a_i \neq a_j$。
输出格式
请输出最多能得到多少种不同的输出整数。
注意输出末尾需要换行。
说明/提示
## 部分分
本题设有部分分。
- 有 $20$ 分的测试点满足 $1 \leq N \leq 3,000$。
- 另有 $30$ 分的测试点满足 $1 \leq a_i \leq 5 \times 10^5\ (1 \leq i \leq N)$。
## 样例解释 1
将 $2$ 放入箱子时输出的整数与将 $1$ 放入箱子时相同,所以最多能得到 $2$ 种不同的输出整数。
## 样例解释 2
所有输入的整数最终输出的整数都相同。
## 样例解释 3
所有输出的整数都可能不同。
由 ChatGPT 4.1 翻译