CF1541B Pleasant Pairs

题目描述

给定一个由 $n$ 个互不相同的整数构成的数组 $a_1, a_2, \dots, a_n$。请计算有多少对下标 $(i, j)$ 满足 $i < j$ 且 $a_i \cdot a_j = i + j$。

输入格式

第一行包含一个整数 $t$($1 \leq t \leq 10^4$),表示测试用例的数量。接下来有 $t$ 组测试数据。 每组测试数据的第一行包含一个整数 $n$($2 \leq n \leq 10^5$),表示数组 $a$ 的长度。 第二行包含 $n$ 个用空格分隔的整数 $a_1, a_2, \ldots, a_n$($1 \leq a_i \leq 2 \cdot n$),表示数组 $a$。保证所有元素互不相同。 保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。

输出格式

对于每个测试用例,输出满足条件的下标对 $(i, j)$ 的数量,使得 $i < j$ 且 $a_i \cdot a_j = i + j$。

说明/提示

对于第一个测试用例,唯一满足条件的下标对是 $(1, 2)$,因为 $a_1 \cdot a_2 = 1 + 2 = 3$。 对于第二个测试用例,唯一满足条件的下标对是 $(2, 3)$。 对于第三个测试用例,满足条件的下标对有 $(1, 2)$、$(1, 5)$ 和 $(2, 3)$。 由 ChatGPT 4.1 翻译