Cod sursa(job #1916969)

Utilizator alexandravargaAlexandra Varga alexandravarga Data 9 martie 2017 10:48:37
Problema Cautare binara Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("cautbin.in");
ofstream out("cautbin.out");
int v[100001],n,m,i,j,x,y,ok,p,a;
int main()
{
    in>>n;
    for(i=1;i<=n;i++)in>>v[i];
    in>>m;
    for(i=1;i<=m;i++)
    {
        in>>a>>x;
        if(a==0)
        {
            p=upper_bound(v+1,v+n+1,x)-v-1;
            if(p>=1&&p<=n&&v[p]==x)out<<p<<"\n";
            else out<<-1<<"\n";
        }
        else if (a==1)
        {
            p=upper_bound(v+1,v+n+1,x)-v-1;
            out<<p<<"\n";
        }
        else
        {
            p=lower_bound(v+1,v+n+1,x)-v;
            out<<p<<"\n";
        }
    }
    return 0;
}