AT_oupc2023_day1_f Remainder of Max Problem

题目描述

KowerKoint 君参加了一个竞赛程序设计比赛,比赛中有如下问题: > 给定一个正整数 $N$,以及一个长度为 $N$ 的正整数数列 $A=(A_1, A_2, \dots, A_N)$。请你输出 $A$ 的最大值模正整数 $m$ 的结果。 然而,KowerKoint 君错误地提交了一个代码,它输出的是 $A$ 的每个元素模 $m$ 的最大值。这个代码虽然不正确,但是由于命题人只准备了一个测试点,这个错误程序却奇迹般地得到了正确的输出。现给定命题人准备的这个测试点的 $N$ 和 $A$,并有 $Q$ 个查询。对于第 $q$ 个查询,给定 $M_q$,请你求满足 $1 \leq m \leq M_q$ 的所有 $m$ 中,使得 $A$ 的最大值模 $m$ 等于 $A$ 中的每个元素模 $m$ 的最大值的 $m$ 的个数。

输入格式

输入以以下格式从标准输入读入: > $N\ A_1\ A_2\ \dots\ A_N\ Q\ M_1\ M_2\ \vdots\ M_Q$

输出格式

输出 $Q$ 行,第 $q$ 行输出第 $q$ 个查询的答案。

说明/提示

## 小子任务 1.($1$ 分)$N \leq 100$,$A_i \leq 100$ 2.($99$ 分)没有其他额外限制。 ## 样例解释 1 对于第 $1$ 个查询,$m$ 可以为 $1,2,4$,共有 $3$ 种可能。 这个测试点符合小子任务 1 的限制。 ## 样例解释 2 本测试点同样符合小子任务 1 的限制。 # 数据范围 - $1 \leq N \leq 200{,}000$ - $1 \leq N \times A_i \leq 2 \times 10^{10}$ - $1 \leq Q \leq 200{,}000$ - $1 \leq M_q \leq 10^{18}$ - 输入均为整数。 由 ChatGPT 5 翻译