Pagini recente » Cod sursa (job #876400) | Cod sursa (job #1127336) | Cod sursa (job #2369202) | Cod sursa (job #632268) | Cod sursa (job #2916073)
#import<fstream>
#import<vector>
#import<cmath>
#import<algorithm>
using namespace std;
int a[100001][18];
main()
{
ifstream cin("rmq.in");
ofstream cout("rmq.out");
int n,q;
cin>>n>>q;
for(int i=1;i<=n;i++)
{
cin>>a[i][0];
}
for(int j=1;(1<<(j-1))<=n;j++)
{
for(int i=1;i+(1<<(j-1))<=n;i++)
{
a[i][j]=min(a[i][j-1],a[i+(1<<(j-1))][j-1]);
}
}
while(q--)
{
int st,dr;
cin>>st>>dr;
int lg=(int)log2(dr-st+1);
cout<<min(a[st][lg],a[dr-(1<<lg)+1][lg])<<'\n';
}
}