Pagini recente » Cod sursa (job #1956696) | Istoria paginii runda/oni2019ziua2 | Cod sursa (job #260432) | Rating Costache Paul Eduard (Eduardxxx) | Cod sursa (job #3134177)
#include <iostream>
#include <fstream>
using namespace std;
int v[1000001][17];
int main()
{
//ifstream fin("nr.txt");
ifstream fin("rmq.in");
ofstream fout("rmq.out");
int n, m, a = 2, b = 1, c, d, e;
fin>>n>>m;
for(int i = 1; i <= n; i++)
fin>>v[i][0];
while(a <= n){
for(int i = 1; i <= n; i++)
v[i][b] = min(v[i][b-1], v[i+a/2][b-1]);
b++;
a *= 2;
}
for(int i = 1; i <= m; i++){
fin>>c>>d;
a = 1;
e = 0;
while(a*2 <= d-c+1){
a = a*2;
e++;
}
fout<<min(v[c][e], v[d-a+1][e])<<"\n";
}
fout.close();
fin.close();
return 0;
}