Cod sursa(job #2427805)

Utilizator RalucaGrigoreGrigore Raluca RalucaGrigore Data 2 iunie 2019 12:34:19
Problema Cautare binara Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.22 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in("cautbin.in");
ofstream out("cautbin.out");
int main()
{
    int n,v[100000],i,cf,m,x,s=1,d,ok=0,nr;
    in>>n;
    d=n;
    for(i=1;i<=n;i++)
     in>>v[i];
    in>>nr;
    for(i=1;i<=nr;i++)
    {
        in>>cf;
        if(cf==0)
        {
            in>>x;
            while(s<d)
            {
            m=(s+d)/2;
            if(v[m]<=x)
            {
                ok=1;
                s=m+1;
            }
            else
                d=m-1;
            }
            if(ok==0)
                out<<"nu exista"<<'\n';
            else
                out<<m<<'\n';

        }
        if(cf==1)
        {
            in>>x;s=1;d=n;
             while(s<d)
             {
            m=(s+d)/2;
            if(v[m]<=x)
                s=m+1;
            else
                d=m-1;
             }
            out<<m<<'\n';
        }
        if(cf==2)
        {
            in>>x;s=1;d=n;
             while(s<=d)
             {
            m=(s+d)/2;
            if(v[m]<x)
                s=m+1;
            else
                d=m-1;
             }
            out<<m<<'\n';
        }
    }
    return 0;
}