Cod sursa(job #2282036)

Utilizator SavanderianAlexandru Balan Savanderian Data 13 noiembrie 2018 09:04:48
Problema Cautare binara Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include<fstream>
#include<algorithm>

using namespace std;

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


int main()
{
     int v[100000],i,j,n,mij,m;

    f>>n;
    for(int i=1;i<=n;i++)
        f>>v[i];

    f>>m;
    for(int i=0;i<m;i++)
    {
        int a,b;
        f>>a>>b;

        if(a==0){
        int d=upper_bound(v+1,v+n+1,b)-v-1;
        if(d>=1&&d<=n&&v[d]==b)
            g<<d<<'\n';
        else
             g<<-1<<'\n';
        }
        else if (a==1)
        {
            int d=lower_bound(v+1,v+n+1,b+1)-v-1;
            g<<d<<'\n';
        }
        else
        {
                        int d=upper_bound(v+1,v+n+1,b-1)-v;
                        g<<d<<'\n';

        }


    }


    return 0;
}