子数组:数组中任意长度的连续区间组成的数组,即为原数组的子数组。例如 a = [1,2,3],子数组可以是 [1,2]、[2,3]、[1]、[2]、[3]、[1,2,3]。
同源子数组:在数组中,两个长度相同(但不是同一个子数组)的子数组,如果它们每个元素出现次数都一样(即对它们从小到大排序之后是一样的),那称这两个子数组为同源的。例如a = [3,4,3,3,4],由数组下标[1,3]组成的子数组[3,4,3] 和 数组下标[3,5]组成的子数组[3,3,4]是同源的。
我们认为两个下标区间相同的子数组是相同的子数组。
现在给定一个长度为 n 的数组 a,并且有 q 次操作,每次操作如下:
1.update x y,一个字符串和两个整数,表示把 a[x] 修改为 y。
2.query ,一个字符串,表示查询当前数组中,长度最大的同源子数组,如果不存在,则输出 -1。
n<=2*1e5,q<=1e3,a[i]<=1e5