Cod sursa(job #2789150)

Utilizator casiannCasian casiann Data 26 octombrie 2021 22:43:03
Problema Range minimum query Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin("rmq.in");
ofstream fout("rmq.out");

int n, m, rmq[100002][100002], v[100002];

void do_rmq(int n){
    for(int i=1; i<=n; i++){
        rmq[i][i] = v[i];
        for(int j=i+1; j<=n; j++){
            if(v[j] < rmq[i][j-1]) rmq[i][j] = v[j];
            else rmq[i][j] = rmq[i][j-1];
        }
    }
}

int main(){
    fin >> n >> m ;
    for(int i=1; i<=n; i++)
        fin >> v[i];
    do_rmq(n);
    for(int i=1; i<=m; i++){
        int a, b;
        fin >> a >> b;
        fout << rmq[a][b] << '\n';
    }
    return 0;
}