Cod sursa(job #1737876)

Utilizator triscacezarTrisca Vicol Cezar triscacezar Data 5 august 2016 10:40:45
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>
#include <algorithm>

using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int i,n,m,c,x,v[100010],lo,hi,mi;
int main()
{
    f>>n;
    for(i=1;i<=n;i++)
        f>>v[i];
    f>>m;
    for(;m;m--)
    {
        lo=(int)(lower_bound(v+1,v+n+1,x)-v);
        hi=(int)(upper_bound(v+1,v+n+1,x)-v)-1;
        f>>c>>x;
        if(c==0)
        {
            if(v[hi]==x)
                g<<hi<<'\n';
            else
                g<<"-1\n";
        }
        if(c==1)
            g<<hi<<'\n';
        if(c==2)
            g<<lo<<'\n';
    }
    return 0;
}