Cod sursa(job #1497327)

Utilizator Julian.FMI Caluian Iulian Julian. Data 6 octombrie 2015 17:43:19
Problema Cautare binara Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.96 kb
#include <iostream>
#include <fstream>
#define nmax 100000
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");


int main()
{long n,v[nmax],i,ls,ld,mij,m,x,y;
    fin>>n;
    for(i=1;i<=n;i++)fin>>v[i];
    fin>>m;
    while(m--)
    {fin>>x>>y;
    if(x==0)
        {ls=1,ld=n;
            while(ls<=ld)
            {
                mij=(ls+ld)/2;
            if(v[mij]<=y)ls=mij+1;
            else ld=mij-1;
            }
            if(v[ls-1]==y)fout<<ls-1<<endl;else fout<<-1<<endl;
        }
    if(x==1)
        {ls=1;ld=n;
        while(ls<=ld)
            {mij=(ls+ld)/2;
            if(v[mij]<=y)ls=mij+1;
            else ld=mij-1;
            }
            fout<<ls-1<<endl;

        }
    if(x==2)
        {ls=1;ld=n;
        while(ls<=ld)
            {mij=(ls+ld)/2;
            if(v[mij]<y)ls=mij+1;
            else ld=mij-1;
            }
            fout<<ld+1<<endl;

        }

    }
}