Cod sursa(job #1278910)

Utilizator vlad_mose1928vlad mosessohn vlad_mose1928 Data 29 noiembrie 2014 15:25:45
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include<fstream>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int main()
{
int v[100000],n,x,y,i,st,dr,a;
f>>n;
for(i=1;i<=n;i++)
    f>>v[i];
f>>x;
for(i=1;i<=x;i++)
{
    f>>a;
    if(a==0)
    {
        f>>y;
        st=0;
        dr=n+1;
        while(dr-st>1){
            int mij=(st+dr)/2;
            if(v[mij]<=y) st=mij;
                else dr=mij;
        }
        if(v[st]==y) g<<st<<'\n';
            else g<<-1<<'\n';}
    if(a==1)
    {
        f>>y;
        st=0;
        dr=n+1;
        while(dr-st>1){
            int mij=(st+dr)/2;
            if(v[mij]>=y) st=mij;
                else dr=mij;}
        g<<st-1<<'\n';
    }
    if(a==2){
        f>>y;
        st=0;
        dr=n+1;
        while(dr-st>1){
            int mij=(st+dr)/2;
            if(v[mij]>=y) dr=mij;
                else st=mij;}
        g<<dr<<'\n';
}}
return 0;}