Cod sursa(job #2905498)

Utilizator Bubu_OrangeAlin Lupau Bubu_Orange Data 22 mai 2022 10:29:54
Problema Range minimum query Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb

#include <fstream>

#include <cmath>

using namespace std;

ifstream f("rmq.in");

ofstream g("rmq.out");

int n,m,i,j,a[100005][20],x,y,L;

int main ()

{

    f>>n>>m;

    for(i=1; i<=n; i++) f>>a[i][0];



    for(j=1; (1<<j)<n; j++)

        for(i=1; i+(1<<j)<=n+1; i++)

            a[i][j]=min(a[i][j-1],a[i+(1<<(j-1))][j-1]);



    while(m--)

    {
        f>>x>>y;

        L=log2(y-x);

        g<<min(a[x][L],a[y-(1<<L)+1][L])<<'\n';

    }



    return 0;

}