小塔是一位热爱数学的初中生,最近她在研究一些有趣的数字序列。有一天,她在整理自己的数字卡片时发现了一个有趣的问题:如何从一长串数字中找出最长的连续子序列,使得这些数字的乘积是一个完全平方数?
完全平方数是指可以表示为某个整数的平方的数,比如1(1×1)、4(2×2)、9(3×3)等。小塔觉得这个问题很有挑战性,决定编写一个程序来解决它。
给定一个数字序列 aa,请你帮助小塔找出最长的连续子区间,使得这个子区间内所有数字的乘积是一个完全平方数。如果存在多个长度相同的子区间,选择最靠左的一个。
第一行包含一个整数 tt,表示测试用例的数量
每个测试用例包含两行:
保证所有测试用例的 nn 之和不超过 107107
数据范围:
对于每个测试用例,输出一行两个整数 ll 和 rr,表示满足条件的最长子区间的左右端点(从1开始计数)
如果有多个长度相同的子区间,输出 ll 最小的一个
如果没有满足条件的子区间,输出 -1 -1
2
3
1 2 3
4
2 3 3 4
1 1
2 4