Cod sursa(job #2809259)

Utilizator ad2708Dumitrescu Alexandra ad2708 Data 26 noiembrie 2021 15:00:57
Problema Range minimum query Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>

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

int N, M, v[10000], mat[10000][10000];
int x, y;


int main()
{
    fin >> N >> M;
    for(int i = 0; i < N; i++)
        fin >> v[i];


    /// preprocesare
    for(int i = 0; i < N; i++) {
        mat[i][i] = v[i];
    }

    for(int i = 0; i < N; i++) {
        for(int j = i + 1; j < N; j++) {
            mat[i][j] = min(mat[i][j - 1], v[j]);
        }
    }


    for(int i = 0; i < M; i++) {
        fin >> x >> y;
        /// raspundeti la rmq(x, y)
        fout << mat[x - 1][y - 1] << endl;
    }
}