Pagini recente » Cod sursa (job #2544313) | Cod sursa (job #1402754) | Cod sursa (job #2550906) | Cod sursa (job #43070) | Cod sursa (job #2849815)
#include <bits/stdc++.h>
using namespace std;ifstream fin("rmq.in");ofstream fout("rmq.out");int rmq[100005][17],n,q,st,dr,ex;int main(){fin>>n>>q;for(int i=1;i<=n;i++)fin>>rmq[i][0];for(int j=1;(1<<j)<=n;j++)for(int i=1,ii;(ii=i+(1<<(j-1)))<=n;i++)rmq[i][j]=min(rmq[i][j-1],rmq[ii][j-1]);while(q--){fin>>st>>dr;ex=(int)log2(dr-st+1);fout<<min(rmq[st][ex],rmq[dr-(1<<ex)+1][ex])<<"\n";}return 0;}