Pagini recente » Cod sursa (job #1662921) | Cod sursa (job #875455) | Cod sursa (job #671678) | Cod sursa (job #2567299) | Cod sursa (job #1962179)
#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;
}