```cpp
#include<bits/stdc++.h>
#include<iostream>
#define ll long long
#define back return
#define ri register int
using namespace std;
ll read()
{
ll x=0,f=1;
char ch=getchar();
while(ch<'0'||ch>'9')
{
if(ch=='-')
f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9')
{
x=x*10+ch-'0';
ch=getchar();
}
back x*f;
}
int n,m,t,len,a[200005],pos[200005],L[200005],R[200005];
int cnt[2005][2005],sum[2005][2005];
int jsq[200005];
vector<int> q[200005];
ll ask(ll l,ll r)
{
int max1=0,ans=0,p1=pos[l],q1=pos[r];
if(p1==q1)
{
for(ri i=l;i<=r;i++)
{
int fir=lower_bound(q[a[i]].begin(),q[a[i]].end(),l)-q[a[i]].begin();
int sec=(--upper_bound(q[a[i]].begin(),q[a[i]].end(),r))-q[a[i]].begin();
int now=sec-fir+1;
if(max1<now)
max1=now,ans=a[i];
}
back max1;
}
if(sum[p1+1][q1-1])
max1=cnt[p1+1][q1-1],ans=sum[p1+1][q1-1];
for(ri i=l;i<=R[p1];i++)
{
int fir=lower_bound(q[a[i]].begin(),q[a[i]].end(),l)-q[a[i]].begin();
int sec=(--upper_bound(q[a[i]].begin(),q[a[i]].end(),r))-q[a[i]].begin();
int now=sec-fir+1;
if(max1<now)
max1=now,ans=a[i];
}
for(ri i=L[q1];i<=r;i++)
{
int fir=lower_bound(q[a[i]].begin(),q[a[i]].end(),l)-q[a[i]].begin();
int sec=(--upper_bound(q[a[i]].begin(),q[a[i]].end(),r))-q[a[i]].begin();
int now=sec-fir+1;
if(max1<now)
max1=now,ans=a[i];
}
back max1;
}
int main()
{
//freopen("f1.in","r",stdin);
//freopen("f1.out","w",stdout);
n=read(),m=read();
for(ri i=1;i<=n;i++)
a[i]=read(),a[i]+=100000;
t=sqrt(n*log2(n)),len=n/t;
for(ri i=1;i<=t;i++)
L[i]=(i-1)*len+1,R[i]=i*len;
if(R[t]<n)
t++,L[t]=R[t-1]+1,R[t]=n;
for(ri i=1;i<=t;i++)
for(ri j=L[i];j<=R[i];j++)
pos[j]=i;
for(ri i=1;i<=t;i++)
{
memset(jsq,0,sizeof(jsq));
for(ri j=i;j<=t;j++)
{
cnt[i][j]=cnt[i][j-1],sum[i][j]=sum[i][j-1];
for(ri k=L[j];k<=R[j];k++)
{
jsq[a[k]]++;
if(cnt[i][j]<jsq[a[k]])
cnt[i][j]=jsq[a[k]],sum[i][j]=a[k];
}
}
}
for(ri i=1;i<=n;i++)
q[a[i]].push_back(i);
while(m--)
{
ll l=read(),r=read();
cout<<ask(l,r)<<"\n";
}
back 0;
}
```
by 断清秋 @ 2022-02-02 22:06:55
$n=1$ 时 $t = 0$,此时 `n / t` 会 RE。
by BootsH @ 2022-02-02 22:17:51
`#9` $n=1$
by BootsH @ 2022-02-02 22:18:39
@[断清秋](/user/93266) 输入 $n=1$ 时 $t=0$。
by rxjdasiwzl @ 2022-02-02 22:20:12
@[developer6hyx](/user/317805) 我超,牛逼。太感谢了
by 断清秋 @ 2022-02-02 22:20:15
@[rxjdasiwzl](/user/96446) 谢谢!
by 断清秋 @ 2022-02-02 22:20:31
这个帖子留着警示后人吧 我还从没见过分块题有 $n=1$ 的点 大受震撼
by 断清秋 @ 2022-02-02 22:21:22