Pagini recente » Cod sursa (job #1648954) | Cod sursa (job #3277052) | Cod sursa (job #2989381) | Cod sursa (job #236025) | Cod sursa (job #1709377)
#include <stdio.h>
FILE* in;
FILE* out;
int N,Q;
int a[100001];
int b[100001];
int L,R;
int maxx = -1;
void calculate()
{
for(int i=L-1; i<=R-1; i++)
{
if(b[a[i]]!=-1)
{
if(i-b[a[i]]>maxx)
maxx = i-b[a[i]];
b[a[i]] = i;
}
else
{
b[a[i]] = i;
}
}
fprintf(out,"%d\n", maxx);
}
int main()
{
in = fopen("pq.in","r");
out = fopen("pq.out", "w");
fscanf(in, "%d %d", &N,&Q);
for(int n=0; n<N; n++)
{
fscanf(in, "%d", &a[n]);
}
for(int q=0; q<Q; q++)
{
maxx = -1;
for(int i=0; i<N; i++)
b[i] = -1;
fscanf(in,"%d %d", &L, &R);
calculate();
}
return 0;
}