Pagini recente » Cod sursa (job #2531745) | Cod sursa (job #374949) | Cod sursa (job #3129430) | Cod sursa (job #970488) | Cod sursa (job #2212328)
#include <bits/stdc++.h>
using namespace std;
#define int long long
//#define fin cin
//#define fout cout
int a[100005],n,m,x,y;
int minim[18][100005];
signed main() {
ifstream fin("rmq.in");
ofstream fout("rmq.out");
fin >> n >> m;
for (int i = 1;i <= n;i++)
fin >> minim[0][i];
int pm = log2 (n);
for (int i = 1;i <= pm;i++)
for (int j = 1;j <= n;j++){
minim[i][j] = min(minim[i-1][j],minim[i-1][j+(1 << (i-1))]);
}
for (int i = 1;i <= m;i++){
cin >> x >> y;
int pmm = log2 (y-x+1);
fout << min(minim[pmm][x],minim[pmm][y-(1 << pmm)+1]) << "\n";
}
}