AT_abc413_d [ABC413D] Make Geometric Sequence

题目描述

给定一个长度为 $N$ 的整数序列 $A=(A_1, A_2, \ldots, A_N)$。这里保证对于任意 $i\ (1\le i\le N)$,$A_i$ 都不为 $0$。 请判断是否存在一种方式将 $A$ 重新排列成一个等比数列 $B=(B_1, B_2, \ldots, B_N)$。 这里,数列 $S=(S_1, S_2, \ldots, S_N)$ 是等比数列,指存在某个实数 $r$,使得对于所有整数 $1\le i < N$,都有 $S_{i+1} = r S_i$。 对于每个输入文件,需要解答 $T$ 个测试用例。

输入格式

输入通过标准输入给出,格式如下: > $T$ > $\mathrm{testcase}_1$ > $\mathrm{testcase}_2$ > $\vdots$ > $\mathrm{testcase}_T$ 其中,第 $i$ 个测试用例($1\le i\le T$)格式如下: > $N$ $A_1$ $A_2$ $\ldots$ $A_N$

输出格式

输出共 $T$ 行。对于第 $i$ 个测试用例,如果可以将 $A$ 重新排列成等比数列,则输出 `Yes`,否则输出 `No`。

说明/提示

### 限制条件 - $1\le T\le 10^5$ - $2\le N\le 2\times 10^5$ - $-10^9\le A_i\le 10^9\ (1\le i\le N)$ - $A_i\ne 0\ (1\le i\le N)$ - 一个输入文件中所有 $N$ 的总和不超过 $2\times 10^5$ - 输入均为整数 ### 样例说明 1 对于第 1 个测试用例,将 $A$ 重新排列为 $(16,8,4,2,1)$,这是一个公比为 $r=\dfrac{1}{2}$ 的等比数列。因此,第 1 行输出 `Yes`。对于第 2 个测试用例,无论如何排列 $A$ 都无法满足条件,因此第 2 行输出 `No`。 由 ChatGPT 4.1 翻译