Cod sursa(job #1549933)

Utilizator felipeGFilipGherman felipeG Data 12 decembrie 2015 22:31:15
Problema Range minimum query Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>
#include <algorithm>
#define element pair <int, int>
#define x first
#define y second
#define N 100010
using namespace std;

ifstream f("rmq.in");
ofstream g("rmq.out");

int n, m, ok;
element v[N], iv;

bool verif (element a, element b)
{
    return a.x < b.x;
}

int main()
{
    f >> n >> m;
    for (int i = 1; i <= n; ++i)
    {
        f >> v[i].x;
        v[i].y = i;
    }

    sort(v + 1, v + n + 1, verif);

    for (int i = 1; i <= m; ++i)
    {
        f >> iv.x >> iv.y;
        ok = 0;
        for (int j = 1; ok == 0; j++)
            if (v[j].y >= iv.x && v[j].y <= iv.y)
            {
                ok ++;
                g << v[j].x << endl;
            }
    }
    return 0;
}