Cod sursa(job #1914440)

Utilizator AndreeaAmzaAndreea Amza AndreeaAmza Data 8 martie 2017 16:59:12
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.05 kb
#include <iostream>
#include <fstream>
#include <bitset>
using namespace std;
ifstream f ("cautbin.in");
ofstream g ("cautbin.out");
int st,dr,mij,n,i,j,k,x,v[10001],p,y;
int main()
{
    f>>n;
    for(i=1;i<=n;i++)
        f>>v[i];
    f>>p;
    for(i=1;i<=p;i++)
    {
        f>>y>>x;
        if(y==0)
        {
        st=1;
        dr=n;
        while(st<=dr)
        {
            mij=(st+dr)/2;
            if(x<v[mij]) dr=mij-1;
            else st=mij+1;
        }
        //if(v[dr]!=x) g<<-1<<'\n';
        //else
            g<<dr<<'\n';
        }
        else if(y==1)
        {
        st=1;
        dr=n;
        while(st<=dr)
        {
            mij=(st+dr)/2;
            if(x<v[mij]) dr=mij-1;
            else st=mij+1;
        }
        g<<dr<<'\n';
        }
        else
        {
        st=1;
        dr=n;
        while(st<=dr)
        {
            mij=(st+dr)/2;
            if(x<=v[mij]) dr=mij-1;
            else st=mij+1;
        }
        g<<st<<'\n';
        }
    }
    return 0;
}