Cod sursa(job #1069907)

Utilizator andreeaghetuUNIBUC andreeaghetu andreeaghetu Data 30 decembrie 2013 17:24:33
Problema Range minimum query Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in ("rmq.in");
ofstream out ("rmq.out");
struct structura
{
    int x, poz;
};
bool sortare (structura a, structura b)
{
    if (a.x<b.x)
        return 1;
    return 0;
}
void cautare (structura *v, int a, int b, int N)
{
    for (int i=1;i<=N;++i)
    {
        if (v[i].poz<=b && v[i].poz>=a)
                {
                    out<<v[i].x<<'\n';
                    return;
                }
    }
}
int main()
{
    int N, M;

    in>>N>>M;
    structura v[N+1];
    for (int i=1;i<=N;++i)
    {
        in>>v[i].x;
        v[i].poz=i;
    }
    sort (v+1, v+N+1, sortare);
    int a, b;
    for (int i=0;i<M;++i)
    {
        in>>a>>b;
        cautare (v, a , b, N);
    }


    return 0;
}