Pagini recente » Cod sursa (job #346311) | Cod sursa (job #288936) | Cod sursa (job #124883) | Cod sursa (job #92753) | Cod sursa (job #1301745)
#include<fstream>
using namespace std;
long t[100001],e[100001];
void quic(long r,long v)
{
if(r<v)
{
long k=t[(r+v)/2],i,j;
i=r-1;
j=v+1;
while(i<j)
{
do j--;while(t[j]>k);
do i++;while(t[i]<k);
if(i<j)
{
swap(t[i],t[j]);
swap(e[i],e[j]);
}
}
quic(r,j);
quic(j+1,v);
}
}
int main()
{
ifstream f("rmq.in");
ofstream g("rmq.out");
long i,a,b,j,n,m;
f>>n>>m;
for(i=1;i<=n;i++)
{
f>>t[i];
e[i]=i;
}
quic(1,n);
for(i=1;i<=m;i++)
{
f>>a>>b;
j=1;
while(e[j]<a||e[j]>b)
j++;
g<<t[j]<<"\n";
}
f.close();
g.close();
}