Pagini recente » Cod sursa (job #1445406) | Cod sursa (job #579279) | Cod sursa (job #327073) | Cod sursa (job #2768592) | Cod sursa (job #1015688)
#include <cstdio>
using namespace std;
struct el
{
long int nr,poz;
}t[100005];
void quick_sort(long int st,long int dr)
{
long int i=st,j=dr;
long int pivot=t[(st+dr)/2].nr;
el aux;
do
{
while(t[i].nr<pivot) i++;
while(t[j].nr>pivot) j--;
if(i<=j)
{
aux=t[i];
t[i]=t[j];
t[j]=aux;
i++;j--;
}
}while(i<=j);
if(i<dr) quick_sort(i,dr);
if(j>st) quick_sort(st,j);
}
int main()
{freopen("rmq.in","r",stdin);
freopen("rmq.out","w",stdout);
long int n,m;
scanf("%ld%ld",&n,&m);
for(int i=1;i<=n;i++)
{
scanf("%ld",&t[i].nr);
t[i].poz=i;
}
quick_sort(1,n);
long int a,b;
for(int i=1;i<=m;i++)
{
scanf("%ld%ld",&a,&b);
int da=1;
for(int i=1;i<=n && da;i++)
{
if(t[i].poz<=b && t[i].poz>=a)
{
da=0;printf("%ld\n",t[i].nr);
}
}
}
return 0;
}