#P50557. 「POI2014」代理商 Couriers

「POI2014」代理商 Couriers

题目描述

译自 POI 2014 Stage 1. 「Couriers

给定长度为 nn 的正整数序列。 有 mm 组查询,每次查询区间 [a,b][a,b] 中出现次数严格大于一半的数。

输入格式

第一行两个整数 n,m(1n,m500 000)n,m (1 \le n,m \le 500\ 000),表示序列的长度和询问的个数。

接下来一行 nn 个整数 p1,p2,...,pn(1pin)p_1, p_2, ..., p_n (1 \le p_i \le n),表示该序列。

接下来 mm 行,每行两个整数 a,b(1abn)a,b (1 \le a \le b \le n),表示查询从第 aa 个数到第 bb 个数之间(包括两个数本身)出现次数严格大于一半的数,如果没有则输出 00.

输出格式

输出 mm 行,对每个询问,输出一行一个整数,表示出现次数超过一半的数,如果没有则输出 00.

样例

7 5
1 1 3 2 3 4 3
1 3
1 4
3 7
1 7
6 6
1
0
3
0
4

数据范围与提示

对于 30%30\% 的数据,保证 n,m5000n,m \le 5000.

对于 65%65\% 的数据,保证 n,m5×104n,m \le 5\times 10^4.

对于所有数据,保证 n,m5×105n,m \le 5\times 10^5.