问题1558-- Power Seq

1558: Power Seq

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

输出
对于每个query操作,输出区间的主导数字是哪个。若不存在,输出 -1

样例输入 Copy
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
样例输出 Copy
-1
2
1
3
-1
3
1
1
来源/分类