Pagini recente » Cod sursa (job #1360171) | Cod sursa (job #1201397) | Cod sursa (job #3172987) | Cod sursa (job #1820633) | Cod sursa (job #1709916)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
#define N 100000
ifstream f("pq.in");
ofstream g("pq.out");
int perechi[N],frecv[N];
int main()
{
int a[N],n,q,maxim,i,j,x,y;
f>>n>>q;
for(i=1;i<=n;i++)
f>>a[i];
for(i=1;i<=n;i++)
{
if(frecv[a[i]]==0)
{
frecv[a[i]]=i;
}
else
{
perechi[frecv[a[i]]]=i;
frecv[a[i]]=i;
}
}
for(i=1;i<=q;i++)
{
f>>x>>y;
maxim=0;
for(j=x;j<=y;j++)
{
if(perechi[j]<=y)
{
if(maxim<perechi[j]-j) maxim=perechi[j]-j;
}
}
if(maxim==0) g<<-1<<'\n';
else g<<maxim<<'\n';
}
return 0;
}