Cod sursa(job #2132010)

Utilizator pausanPausan Dragos pausan Data 15 februarie 2018 11:42:43
Problema Cautare binara Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.95 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("cautbin.in");
ofstream fout ("cautbin.out");
int n,i,g,k,v[100005],m,x,c,j;
int main()
{fin>>n;
for(i=1;i<=n;i++)
   fin>>v[i];
fin>>g;
while(k<g)
{
    fin>>c>>x;
    if(c==0)
    {   i=1;
        j=n;
        while(i<=j)
       {

       m=(i+j)/2;
        if(v[m]<=x)
            i=m+1;
        else j=m-1;
       }
        if(v[j]==x)
            fout<<j<<"\n";
        else fout<<"-1\n";


    }
     if(c==1)
    {   i=1;
        j=n;
        while(i<=j)
       {

       m=(i+j)/2;
        if(v[m]<=x)
            i=m+1;
        else j=m-1;
       }
            fout<<j<<"\n";



    }
    if(c==2)
    {
        i=1;
        j=n;
        while(i<=j)
        {
            m=(i+j)/2;
            if(v[m]>=x)
                j=m-1;
            else i=m+1;
        }
            fout<<i<<"\n";


    }

    ++k;
}
    return 0;
}