Cod sursa(job #1255141)

Utilizator Darius15Darius Pop Darius15 Data 4 noiembrie 2014 13:40:54
Problema Range minimum query Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>

using namespace std;
int a[2500],n,i,q,l1,l2;
ifstream f("rmq.in");
ofstream g("rmq.out");
int dividet(int x,int y)
{
    int z,o;
    if (y-x==0) return a[x];
    else if (y-x==1) return min(a[y],a[x]);
    else
    {
        z=dividet(x,(x+y)/2);
        o=dividet((x+y)/2+1,y);
        return min(z,o);
    }
}
int main()
{
    f>>n>>q;
    for (i=1;i<=n;i++)
        f>>a[i];
        for (i=1;i<=q;i++)
        {
            f>>l1>>l2;
            g<<dividet(l1,l2)<<'\n';
        }
    return 0;
}