Pagini recente » Cod sursa (job #2687824) | Cod sursa (job #770790) | Cod sursa (job #2116244) | Istoria paginii jc2020/solutii/heist | Cod sursa (job #2060747)
#include <stdio.h>
int main(void){
int A[100000], ultimul[100000], max, Q, L, R, N,i, j;
freopen("pq.in", "r", stdin);
freopen("pq.out", "w", stdout);
scanf("%d %d", &N, &Q);
for(i=0;i<N;i++){
scanf("%d", &A[i]);
ultimul[A[i]]=-1;
}
for(i=0;i<Q;i++){
max=-1;
scanf("%d %d", &L, &R);
L--;R--;
for(j=L;j<=R;j++){
ultimul[A[j]]=-1;
}
for(j=L;j<=R;j++){
if(ultimul[A[j]]!=-1 && j-ultimul[A[j]]>max){
max=j-ultimul[A[j]];
}
ultimul[A[j]]=j;
}
printf("%d\n",max);
}
return 0;
}