Pagini recente » Cod sursa (job #357007) | Cod sursa (job #1111534) | Cod sursa (job #230957) | Cod sursa (job #1359900) | Cod sursa (job #1245464)
#include <fstream>
#define NMax 100001
using namespace std;
ifstream f("rmq.in");
ofstream g("rmq.out");
int n, m, rm[16][NMax], v[NMax], powt[20], 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=0;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;
}