Cod sursa(job #1962179)

Utilizator Garen456Paun Tudor Garen456 Data 11 aprilie 2017 16:54:53
Problema Range minimum query Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
#include <math.h>
#define inf 100001
using namespace std;
ifstream fin("rmq.in");
ofstream fout("rmq.out");
int n,l;
int m[100001][18];
int main()
{   fin>>n>>l;
    int i,j,x,y,sol;
    for(i=1;i<=n;++i)
      fin>>m[i][0];



    for(j=1;(1<<j)<=n;++j)
        for(i=1;i+(1<<j)-1<=n;++i)
        m[i][j]=min(m[i][j-1],m[i+(1<<(j-1))][j-1]);
    for(i=1;i<=l;++i)
    {  fin>>x>>y;
        j=log2(y-x+1);
        sol=inf;
        sol=min(m[x][j],m[y-(1<<j)+1][j]);
        fout<<sol<<"\n";
    }
        return 0;
}