FREQUENT  Frequent values
You are given a sequence of n integers a_{1} , a_{2} , ... , a_{n} in nondecreasing order. In addition to that, you are given several queries consisting of indices i and j (1 ≤ i ≤ j ≤ n). For each query, determine the most frequent value among the integers a_{i} , ... , a_{j}.
Input Specification
The input consists of several test cases. Each test case starts with a line containing two integers n and q (1 ≤ n, q ≤ 100000). The next line contains n integers a_{1} , ... , a_{n} (100000 ≤ a_{i} ≤ 100000, for each i ∈ {1, ..., n}) separated by spaces. You can assume that for each i ∈ {1, ..., n1}: a_{i} ≤ a_{i+1}. The following q lines contain one query each, consisting of two integers i and j (1 ≤ i ≤ j ≤ n), which indicate the boundary indices for the query.
The last test case is followed by a line containing a single 0.
Output Specification
For each query, print one line with one integer: The number of occurrences of the most frequent value within the given range.
Sample Input
10 3 1 1 1 1 1 1 3 10 10 10 2 3 1 10 5 10 0
Sample Output
1 4 3
A naive algorithm may not run in time!
hide comments
Shrish Lal Bhatnagar:
20160725 16:24:03
AC in O(n) preprocessing and O( log (n) ) for each query 

kiwi1995:
20160706 06:39:24
memory problem :(


karthik1997:
20160602 19:04:31
Well You can also use MO's algorithm with either O(N*sqrt(N) ) or O(N*sqrt(N)*log(N)) algorithm :p 

minhthai:
20160114 10:34:44
tle in java :( 

anshal dwivedi:
20151225 06:44:56
Yo! AC in one go....! XD 

infernodragon:
20151125 21:10:26
there are quite a few cases which should be taken care of while merging, this is the most important step in this problem


Ayush Kedia:
20150524 13:46:17
Nope!! @anant_dadu 

anant_dadu:
20150524 08:09:33
Last edit: 20150525 12:53:46 

Sunil:
20150428 21:48:55
bridges, mse06h , niceday are all very similar problems 

GAURAV CHANDEL:
20150420 12:55:56
Very good segment tree problem.... 
Added by:  Adrian Kuegel 
Date:  20070706 
Time limit:  1s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All except: ERL JSRHINO NODEJS PERL6 VB.NET 
Resource:  University of Ulm Local Contest 2007 