Pagini recente » oni_mixt2 | Cod sursa (job #2758247) | Cod sursa (job #2236407) | Cod sursa (job #913043) | Cod sursa (job #2405890)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("rmq.in");
ofstream fout("rmq.out");
int N, List[100001], i, j, lg2[21], M, Sol[21][100001];
int main()
{
fin>>N>>M;
for(i=1; i<=N; ++i) {
fin>>Sol[0][i];
}
Sol[0][N+1]=100001;
for(j=1; (1<<j)<=N; ++j)
for(i=1; i<=N; ++i)
Sol[j][i]=min(Sol[j-1][i], (i+(1<<(j-1))<=N?Sol[j-1][i+(1<<(j-1))]:100001));
for(i=1; i<=M; ++i){
int a, b, k;
fin>>a>>b;
k=log2(b-a+1);
fout<<min(Sol[k][a], Sol[k][b-(1<<k)+1])<<"\n";
}
return 0;
}