Cod sursa(job #2582384)

Utilizator alex_benescuAlex Ben alex_benescu Data 16 martie 2020 17:48:11
Problema Range minimum query Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.34 kb
#import<fstream>
std::ifstream f("rmq.in");std::ofstream g("rmq.out");int q[20][100005],i=2,j,x,y,n,m,lg[100005];main(){for(f>>n>>m;i<=n+1;lg[i]=lg[i/2]+1,f>>q[0][i++-1]);for(i=1;(1<<i)<=n;i++)for(j=1;j+(1<<i)-1<=n;j++)q[i][j]=std::min(q[i-1][j],q[i-1][j+(1<<(i-1))]);while(m--)f>>x>>y,n=lg[y-x+1],g<<std::min(q[n][x],q[n][y+1-(1<<n)])<<'\n';}