Cod sursa(job #2055849)

Utilizator alextodoranTodoran Alexandru Raul alextodoran Data 3 noiembrie 2017 20:23:08
Problema Range minimum query Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <iostream>
#include <fstream>
using namespace std;

int n, m, i, j, a, b, v[10002], d[10002], mi;

int main()
{
    ifstream fin ("rmq.in");
    ofstream fout ("rmq.out");
    fin >> n >> m;
    for(i = 1; i <= n; i++)
    {
        fin >> v[i];
        for(j = i - 1; v[j] > v[i]; j = d[j]);
        d[i] = j;
    }
    for(i = 1; i <= m; i++)
    {
        fin >> a >> b;
        for(j = b; j >= a; j = d[j])
            mi = v[j];
        fout << mi << "\n";
    }
    return 0;
}