Pagini recente » Cod sursa (job #2950249) | Cod sursa (job #971513) | Cod sursa (job #1933879) | Monitorul de evaluare | Cod sursa (job #1986887)
#include <bits/stdc++.h>
using namespace std;
int a[1000000];
int ma[1000][1000];
int main()
{
freopen("rmq.in", "r", stdin);
freopen("rmq.out", "w", stdout);
int n, m;
scanf("%d%d", &n, &m);
for(int i=1;i<=n;i++)
scanf("%d", &a[i]);
for(int i=1;i<=n;i++)
ma[i][i]=i;
for(int i=1;i<=n;i++){
for(int j=i+1;j<=n;j++)
{
if(a[ma[i][j-1]]<a[j])
ma[i][j]=ma[i][j-1];
else
ma[i][j]=j;
}
}
for(int i=1;i<=m;i++)
{
int nr1,nr2;
scanf("%d%d", &nr1, &nr2);
printf("%d\n", ma[nr1][nr2]);
}
return 0;
}