Cod sursa(job #1709916)

Utilizator TeamFIIEUAIC ASD TeamFIIE Data 28 mai 2016 14:25:32
Problema Pq Scor 0
Compilator cpp Status done
Runda ONIS 2016 - Runda - 2 - ACM ICPC Romanian Programming Contest Marime 0.81 kb
#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;
}