Cod sursa(job #1827900)

Utilizator savigunFeleaga Dragos-George savigun Data 12 decembrie 2016 14:44:31
Problema Range minimum query Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    ifstream cin("rmq.in");
    ofstream cout("rmq.out");
    int i, j, **a, n, m, *v, l, r;

    cin>>n>>m;
    a = new int*[n+1];
    v = new int[n+1];

    for(i = 1; i <= n; ++i){
        cin>>v[i];
        a[i] = new int[n+1];
        for(j = 1; j <= n; ++j)
            a[i][j] = v[i];
    }

    for(i = 1; i < n; ++i){
        for(j = i + 1; j <= n; ++j){
            a[i][j] = min(v[j], a[i][j-1]);
        }
    }

    for(i = 1; i <= m; ++i){
        cin>>l>>r;
        cout<<a[l][r]<<"\n";
    }


    return 0;
}