CF1325E Ehab's REAL Number Theory Problem
题目描述
给定一个长度为 $n$ 的数组 $a$,该数组有一个特殊条件:数组中的每个元素的约数个数不超过 7。请你找到一个最短的非空子序列,使得该子序列所有元素的乘积是一个完全平方数,并输出该子序列的长度。
如果 $a$ 是数组 $b$ 的一个子序列,则 $a$ 可以通过从 $b$ 中删除若干(可能为零或全部)元素得到。
输入格式
第一行包含一个整数 $n$($1 \le n \le 10^5$),表示数组 $a$ 的长度。
第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \le a_i \le 10^6$),表示数组 $a$ 的元素。
输出格式
输出一个整数,表示满足条件的最短非空子序列的长度。如果存在多个最短子序列,可以输出任意一个。如果不存在这样的子序列,输出 “-1”。
说明/提示
在第一个样例中,你可以选择子序列 $[1]$。
在第二个样例中,你可以选择子序列 $[6, 6]$。
在第三个样例中,你可以选择子序列 $[6, 15, 10]$。
在第四个样例中,不存在满足条件的子序列。
由 ChatGPT 4.1 翻译