Pagini recente » Cod sursa (job #1953249) | Cod sursa (job #130154) | Cod sursa (job #1669943) | Cod sursa (job #2103415) | Cod sursa (job #1141121)
#include<fstream>
using namespace std;
int sir[100001][20];
int main()
{
int n,m;
int i,j,ii;
int lim,p;
ifstream f("rmq.in");
f>>n>>m;
for(i=1;i<=n;i++)
f>>sir[i][0];
for(j=1;(1<<j)<=n;j++)
for(i=1;(i+(1<<j)-1)<=n;i++)
sir[i][j]=min(sir[i][j-1],sir[i+(1<<(j-1))][j-1]);
ofstream g("rmq.out");
for(ii=1;ii<=m;ii++)
{
f>>i>>j;
lim=j-i+1;
for(p=0;(1<<p)<=lim;p++);
p--;
g<<min(sir[i][p],sir[j-(1<<p)+1][p])<<'\n';
}
f.close();
g.close();
return 0;
}