Cod sursa(job #1498244)

Utilizator istrate.cristianIstrate Cristian istrate.cristian Data 8 octombrie 2015 10:47:06
Problema Cautare binara Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include<bits/stdc++.h>

using namespace std;

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

int v[100005];


int main()
{
    int i,o,m,x,q,n;
    f>>n;
    for(i=1; i<=n; i++)
        f>>v[i];
    f>>m;
    for(i=1; i<=m; i++)
    {
        f>>o>>x;
        if(o==0)
        {
            q=upper_bound(v+1,v+1+n,x)-v-1;
            if(q<=n && q>=1 && v[q]==x)
                g << q << '\n';
            else
                g << -1 << '\n';
        }
        if(o==1)
        {
             g<<upper_bound(v+1,v+1+n,x)-v-1 << '\n';
        }

        if(o==2)
            g<<lower_bound(v+1,v+1+n,x)-v << '\n';
    }
    return 0;
}