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
cat_got_bored:
20170101 19:21:47
Testcases to check. http://spojtoolkit.com/history/FREQUENT 

papan_97:
20161215 19:42:06
my 100th ... :) :) :) and AC in one go with segment tree


king:
20161213 08:57:32
At last AC, A must do question of segment tree 

Abhishek Kainth:
20161212 22:50:16
O(N*log(N)) precomputation using Sparse Table


elliot1:
20161102 00:09:30
what to do in case of a tie !! 

santamaria:
20161016 06:23:59
o.O OMG !!, this shit is solved ... :D 

shubham:
20160913 16:04:51
AC in one go... concept similar to http://www.spoj.com/problems/GSS1/


onlyappleapp:
20160829 14:19:02
Attention : The input consists of several test cases ! :) 

hashem sllat:
20160819 11:00:32
is there any approach to solve this problem in O(n*log(n) ) when array is not sorted ? 

kumar gaurav:
20160817 21:29:59
getting TLE, even if O(n) for preprocessing and O(log n) for each queries. 
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 