Cod sursa(job #1709377)

Utilizator UPT_LRL_TEAMUPT LRL UPT_LRL_TEAM Data 28 mai 2016 12:01:18
Problema Pq Scor 0
Compilator cpp Status done
Runda ONIS 2016 - Runda - 2 - ACM ICPC Romanian Programming Contest Marime 0.75 kb
#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;
}