Cod sursa(job #2789447)

Utilizator Florin090503Dumitrescu Florin Florin090503 Data 27 octombrie 2021 15:49:45
Problema Range minimum query Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n, m, x, y;
int v[10000][10000];

int main()
{
    fin>>n>>m;
    for(int i = 1;i <= n; i++)
        fin>>v[1][i];
    for(int i = 2;i <= n;i++)
        {
            for(int j = 1;j <= (n-i+1); j++)
                if(v[i-1][j]>v[i-1][j+1])
                    {
                    v[i][j]=v[i-1][j+1];
                    }
                else
                    v[i][j]=v[i-1][j];
        }
    for(int i=1;i<=m;i++)
        {
            fin>>x>>y;
            fout<<v[y-x+1][x]<<"\n";
        }
    return 0;
}