Pagini recente » Cod sursa (job #2384103) | Cod sursa (job #82786) | Cod sursa (job #2930843) | Cod sursa (job #125328) | Cod sursa (job #1307176)
#include<fstream>
#include<algorithm>
#define MAXN 20005
using namespace std;
long int N,M;
int P[MAXN][MAXN],A[MAXN];
ifstream cin("rmq.in");
ofstream cout("rmq.out");
int main(){
int i,j,x,y;
cin>>N>>M;
for(i=1;i<=N;i++)
cin>>A[i];
for(i=1;i<=N;i++)
P[i][i]=i;
for(i=1;i<=N;i++)
for(j=i+1;j<=N;j++)
if(A[P[i][j-1]]<A[j])
P[i][j]=P[i][j-1];
else
P[i][j]=j;
while(M--){
cin>>x>>y;
cout<<A[P[x][y]]<<"\n";
}
return 0;
}