Pagini recente » Cod sursa (job #2840943) | Cod sursa (job #150136) | Cod sursa (job #161549) | Cod sursa (job #2135320) | Cod sursa (job #1245440)
#include <fstream>
#define NMax 100001
using namespace std;
ifstream f("rmq.in");
ofstream g("rmq.out");
int n, m, v[NMax], powt[20], rm[16][NMax], lg, st, dr, i, j;
int main()
{
f>>n>>m;
for (i=1; i<=n; i++)
f>>rm[0][i];
lg=i-1;
for (i=1; (1<<i) <= n; i++)
for (j=1; j<=n-(1<<i)+1; j++)
rm[i][j]=min(rm[i-1][j], rm[i-1][j+(1<<(i-1))]);
for (i=1; i<=m; i++) {
f>>st>>dr;
for (j=1; (1<<j)<=dr-st+1; j++);
lg=j-1;
g<<min(rm[lg][st], rm[lg][st+(dr-st+1)-(1<<lg)])<<"\n";
}
return 0;
}