P12221 [蓝桥杯 2023 国 Java B] 序列

题目描述

给定一个长度为 $n$ 的正整数序列 $a_1, a_2, \ldots, a_n$,同时有一个首项为 $d$,公差为 $d$,项数为 $n$ 的等差数列 $\{b_1 = d, b_2 = 2d, \ldots, b_n = nd\}$。 定义 $S_d = \displaystyle \sum_{a_i | b_i} 1$,即 $S_d$ 表示当公差为 $d$ 时有多少对 $(a_i, b_i)$ 满足 $b_i$ 被 $a_i$ 整除,请求出 $\displaystyle \sum_{i=1}^{n} S_i$。

输入格式

输入共 $2$ 行。 第一行为一个正整数 $n$。 第二行为 $n$ 个由空格隔开的正整数 $a_1, a_2, \ldots, a_n$。

输出格式

输出共 $1$ 行,一个整数。

说明/提示

### 样例说明 - 当公差等于 $1$:$b = \{1, 2, 3, 4\}$, 有 3 对 $(a_i, b_i)$ 满足条件,$S_1 = 3$。 - 当公差等于 $2$:$b = \{2, 4, 6, 8\}$, 有 4 对 $(a_i, b_i)$ 满足条件,$S_2 = 4$。 - 当公差等于 $3$:$b = \{3, 6, 9, 12\}$, 有 3 对 $(a_i, b_i)$ 满足条件,$S_3 = 3$。 - 当公差等于 $4$:$b = \{4, 8, 12, 16\}$, 有 4 对 $(a_i, b_i)$ 满足条件,$S_4 = 4$。 所以答案为 $3 + 4 + 3 + 4 = 14$。 ### 评测用例规模与约定 - 对于 $20\%$ 的数据, 保证 $n \leq 10^3$。 - 对于 $100\%$ 的数据, 保证 $1\leq n \leq 10^5$,$1\leq a_i \leq n$。