Pagini recente » Cod sursa (job #1463698) | Cod sursa (job #2058872) | Cod sursa (job #3208298) | Cod sursa (job #1782565) | Cod sursa (job #2751380)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("rmq.in");
ofstream out("rmq.out");
int main()
{
long n,m,x,y;
in >> n >> m;
int ans[n][n];
int vec[n];
for(int i=0;i<n;i++){
in >> vec[i];
}
for (int i=0;i<n;i++){
for (int j=0;j<m;j++){
ans[i][j]=0;
}
}
for (int i=0;i<n;i++)
ans[i][i]=i;
for (int i=0;i<n;i++){
for (int j=i+1; j<n;j++)
if(vec[ans[i][j-1]]<vec[j])
ans[i][j]=ans[i][j-1];
else
ans[i][j]=j;
}
for(int i=1;i<=m;i++){
in >> x >> y;
out << vec[ans[x-1][y-1]] << " ";
}
return 0;
}