3558: Power Seq-2018HBCPC D

内存限制:128 MB 时间限制:3.000 S
评测方式:文本比较 命题人:
提交:3 解决:1

题目描述

ch给你一个长度为n的数列,有两种操作:

1.set     l r x :将[l,r]内的数全都赋值为x

2.query    l r :查询[l,r]中占主导地位的数字是哪个。

该数字占主导地位,意思是该数在该区间中出现的次数占了区间长度的一半以上(出现一半不算占主导地位)。若没有,则输出-1

输入

单组数据。

第一行,一个数:n,表示序列长度(1<=n<=200000)

第二行,n个数,分别为a1~an(0<=ai<=10^6)

第三行,一个数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

样例输出 复制

-1
2
1
3
-1
3
1
1

来源/分类