Cod sursa(job #2751377)

Utilizator EmiHHodoroaba Emanuel EmiH Data 14 mai 2021 21:09:52
Problema Range minimum query Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#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+1][n+1];
    int vec[n+1];
    for(int i=1;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 = 1; i <=n; i++)
        ans[i][i] = i;
    for (int i=1;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][y]] << " ";
    }

    return 0;
}