Pagini recente » Cod sursa (job #2021211) | Cod sursa (job #605216) | Cod sursa (job #1775540) | Cod sursa (job #1305247) | Cod sursa (job #2938708)
#include <bits/stdc++.h>
#define din cin
#define dout out
#define pi 3.14159265359
#define mod 1000000007
#define sw(x,y) x^=y,y^=x,x^=y
#define bmin(a,b)((a<b)?(a):(b))
#define bmax(a,b)((a>b)?(a):(b))
#define bminify(a,b)a=bmin(a,b)
#define bmaxify(a,b)a=bmax(a,b)
#define forq(i,ii,n)for(i=ii;i<n;i++)
using namespace std;
typedef long long ll;
ifstream in("rmq.in");
ofstream out("rmq.out");
int n,m,i,j,k,a[17][200001],g[100001];
int main()
{
for(i=2;i<=100000;i++)g[i]=g[i>>1]+1;
in>>n>>m;
for(i=1;i<=n;i++)in>>a[0][i];
for(i=0;i<16;i++)
for(j=1;j<=n;j++)
a[i+1][j]=bmin(a[i][j],a[i][j+(1<<i)]);
while(m--)
in>>i>>j,k=g[++j-i],out<<bmin(a[k][i],a[k][j-(1<<k)])<<'\n';
}