Cod sursa(job #1396506)

Utilizator AndreiD31Dragan Andrei AndreiD31 Data 22 martie 2015 17:01:24
Problema Cautare binara Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>

using namespace std;
long a,b,x,y,v[100001],mij,ok,m,n,i;
int main()
{ifstream f("cautbin.in");
ofstream g("cautbin.out");
   f>>n;
   for(i=1;i<=n;i++)
   f>>v[i];
   f>>m;
   for(i=1;i<=m;i++)
  {f>>x>>y;
   if(x==0)
   {a=1;b=n;
    while(a<=b)
    {mij=(a+b)/2;
   if(y>=v[mij]){a=mij+1;}
         else {b=mij-1;}
    }
    if(v[b]==y){g<<b<<'\n';}
    else g<<"-1"<<'\n';
   }
      else if(x==1)
      {a=1;b=n;ok=0;
    while(a<=b)
    {mij=(a+b)/2;
     if(y>=v[mij]){a=mij+1;}
        else {b=mij-1;}
    }
    g<<b<<'\n';
      }
       else if(x==2)
      {a=1;b=n;ok=0;
    while(a<=b)
    {mij=(a+b)/2;
     if(y>v[mij]){a=mij+1;}
        else {b=mij-1;}
    }
    g<<a<<'\n';
      }

  }
    return 0;
}