#LQB0072. 最长子序列
最长子序列
提示信息:
完全平方数:可以表示为某个整数的平方的数。
例如:4(22)、9(32)、16(42) 都是完全平方数。
子序列:某个序列通过去除任意数量(包括 0 个)的元素但不破坏剩余元素的相对位置而形成的新序列。
例如:原序列为 [1,2,3,4,5,6];[2,3,6]、[1,2,3]、[1,5] 等都是原序列的子序列。
题目描述:
给定长度为 n 的整数序列 A,请从中选取一个最长的子序列,使得子序列中任意两个数的乘积均为完全平方数。并输出该子序列的长度。
例如:n = 5,整数序列为 [2,8,3,18,12];其中满足题目要求且长度最长的子序列为 [2,8,18],长度为 3。
输入描述:
第一行输入一个整数 n(1≤n≤105),表示序列的长度; 第二行输入 n 个整数 Ai(1≤Ai≤106),整数之间以一个空格隔开。输出描述:输出一个整数,表示满足题目要求的最长子序列的长度。
5
2 8 3 18 12
3
Limitation
1s, 1024KiB for each test case.