Cod sursa(job #155111)

Utilizator sigridMaria Stanciu sigrid Data 11 martie 2008 18:59:48
Problema Range minimum query Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<fstream.h>
#include<stdlib.h>
#define dim 100001

ifstream f("rmq.in");
ofstream g("rmq.out");
int n,m,i,j,x,y,k,ok;
int *v[dim];

int main()
{
f>>n>>m;
for(i=0;i<=dim;i++)
{v[i]=(int*)realloc(v[i],sizeof(int));
 v[i][0]=0;
}
for(i=1;i<=n;i++)
 {f>>x;
  v[x][0]++;
  v[x]=(int*)realloc(v[x],v[x][0]*sizeof(int));
  v[x][v[x][0]]=i;
 }

for(i=1;i<=m;i++)
 {f>>x>>y;
  ok=1;
  for(j=0;(j<=dim)&&(ok);j++)
   for(k=1;k<=v[j][0];k++)
    if((v[j][k]>=x)&&(v[j][k]<=y))
     {g<<j<<'\n';ok=0;break;}

 }

f.close();
g.close();
return 0;
}