题目描述
ch给你一个长度为
n的数列,有两种操作:
set l r x :将
[l, r]内的数全都赋值为
x。
query l r :查询
[l, r]中占主导地位的数字是哪个。
该数字占主导地位,意思是该数在该区间中出现的次数占了区间长度的一半以上(出现一半不算占主导地位)。若没有,则输出
-1。
输入
单组数据。
第一行,一个数:
n
,表示序列长度
(1 ≤ n ≤ 200000)。
第二行,
n个数,分别为
a1∼ an(0 ≤ ai≤ 106)。
第三行,一个数
Q,表示操作的个数
(1 ≤ Q ≤ 200000)。
接下来的
Q行,每行一个操作,如题目描述所示,数据保证输入合法。
输出
对于每个query操作,输出区间的主导数字是哪个。若不存在,输出-1。
10 1 2 1 2 1 2 1 2 1 2 10 query 1 10 query 2 10 query 1 9 set 1 5 3 query 2 3 query 1 10 query 1 9 set 1 10 1 query 2 3 query 1 10