Pagini recente » Cod sursa (job #990851) | Cod sursa (job #3121370) | Cod sursa (job #2144666) | Cod sursa (job #258531) | Cod sursa (job #1042911)
#include <fstream>
#include <cmath>
#include <iostream>
using namespace std;
ifstream f("rmq.in");
ofstream g("rmq.out");
int n, m, a[20][100002], p, x, y;
int main()
{
f>>n>>m;
for(int i=1; i<=n; ++i) f>>a[0][i];
for(int i=n; i>0; --i)
for(int k=1; (1<<k)<=n; ++k)
a[k][i]=min(a[k-1][i], a[k-1][i+(1<<(k-1))]);
while(m--){
f>>x>>y;
p=(int)log2(y-x+1);
g<<min(a[p][x], a[p][y-(1<<p)+1])<<'\n';
}
return 0;
}