Pagini recente » Cod sursa (job #2940170) | Cod sursa (job #10215) | Cod sursa (job #231276) | Cod sursa (job #10387) | Cod sursa (job #1042738)
#include <iostream>
#include<fstream>
#define MAXN 1000
#define LOGMAXN 100
using namespace std;
ifstream f("rmq.in");
ofstream g("rmq.out");
void fun(int M[MAXN][MAXN], int A[MAXN], int N)
{
int i, j;
for (i =0; i < N; i++)
M[i][i] = i;
for (i = 0; i < N; i++)
for (j = i + 1; j < N; j++)
if (A[M[i][j - 1]] < A[j])
M[i][j] = M[i][j - 1];
else
M[i][j] = j;
}
int main()
{
int n;
int mat[MAXN][MAXN], a[MAXN],i,m,j;
f>>n>>m;
for(i=0;i<n;i++)
f>>a[i];
fun(mat,a,n);
for(i=1;i<=m;i++)
{
int x,y;
f>>x>>y;
g<<a[mat[x-1][y-1]]<<endl;
}
}