Pagini recente » Cod sursa (job #1254392) | Cod sursa (job #3197834) | Rating Malai Victor (maloun) | Cod sursa (job #2448919) | Cod sursa (job #1502043)
#include<fstream>
#define DIM 100005
using namespace std;
ifstream fin ("rmq.in");
ofstream fout("rmq.out");
int D[17][DIM],P[DIM],n,m,i,k,p,a,b;
int main(){
fin>>n>>m;
for(i=1;i<=n;i++){
fin>>D[0][i];
}
//D[k][i]=min(D[k-1][i],D[k-1][i+2^k-1];
for(k=1;(1<<k)<=n;k++){
for(i=1;i<=n-(1<<k-1);i++){
D[k][i]=min(D[k-1][i],D[k-1][i+(1<<k-1)]);
}
}
P[1]=0;
for(i=2;i<=n;i++){
P[i]=P[i/2]+1;
}
for(i=1;i<=m;i++){
fin>>a>>b;
p=P[b-a+1];
fout<<min(D[p][a],D[p][b-(1<<p)+1])<<"\n";
}
return 0;
}