Cod sursa(job #1936693)

Utilizator dariastanescuDaria Stanescu dariastanescu Data 23 martie 2017 12:15:02
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

int n,i,v[100001],p,poz,x,m;
int main()
{
    f>>n;
    for(i=1;i<=n;++i) f>>v[i];
    f>>m;
    for(i=1;i<=m;++i)
    {
        f>>p>>x;
        if(p==0)
        {
            poz=upper_bound(v+1,v+n+1,x)-v-1;
            if(v[poz]==x) g<<poz<<"\n";
            else g<<"-1"<<"\n";
        }
        if(p==1)
        {
          poz=upper_bound(v+1,v+n+1,x)-v-1;
          if(v[poz]==x) g<<poz<<"\n";
        }
        else if(p==2)
        {
            poz=lower_bound(v,v+n,x)-v;
            if(v[poz]==x) g<<poz<<"\n";
        }
    }
}