Pagini recente » Cod sursa (job #2251578) | Cod sursa (job #2063360) | Rating Stancu Mihaela Simona (MIHAELA.102) | Cod sursa (job #1312875) | Cod sursa (job #3000202)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("rmq.in");
ofstream fout("rmq.out");
#define cin fin
#define cout fout
int n,m,i,ex,ind,rmq[17][20000],p2,x,lg,a,b;
int main()
{
cin>>n>>m;
for(i=1;i<=n;i++)
{
cin>>rmq[0][i];
}
for(ex=1,p2=2;p2<=n;p2*=2,++ex)
{
for(i=1;i<=n-p2+1;++i)
{
rmq[ex][i]=min(rmq[ex-1][i],rmq[ex-1][i+(p2/2)]);
}
}
for(i=1;i<=m;i++)
{
cin>>a>>b;
lg=b-a+1;
x=log2(lg);
cout<<min(rmq[x][a],rmq[x][b-(1<<x)+1])<<'\n';
}
return 0;
}