Cod sursa(job #2285440)

Utilizator IonDragosIon Dragos IonDragos Data 18 noiembrie 2018 16:28:04
Problema Cautare binara Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.33 kb
#include <fstream>

using namespace std;
int n,i,v[100005],x,y,st,dr,mij,m,j;
ifstream cin("cautbin.in");
ofstream cout("cautbin.out");
int main()
{
    cin>>n;
    for(i=1;i<=n;i++)
    {
        cin>>v[i];
    }
    cin>>m;
    for(j=1;j<=m;j++)
    {
        cin>>x>>y;
        st=1;
        dr=n;
        if(x==1)
        {
            while(st!=dr)
            {
                mij=st+dr+1;
                mij=mij/2;
                if(v[mij]<=y)
                    st=mij;
                else
                    dr=mij-1;
            }
            cout<<st<<'/n';
        }
        else if(x==0)
        {
            while(st!=dr)
            {
                mij=st+dr+1;
                mij=mij/2;
                if(v[mij]<=y)
                    st=mij;
                else
                    dr=mij-1;
            }
            if(v[st]==y)
                cout<<st<<'/n';
            else
                cout<<"-1"<<'/n';
        }
        else
        {
            while (st!=dr)
            {
                mij=st+dr;
                mij=mij/2;
                if (v[mij]>=y)
                {
                    dr=mij;
                }
                else
                    st=mij+1;
            }
            cout<<st<<'/n';
        }
    }
    return 0;
}