Cod sursa(job #1424774)

Utilizator andrei124Andrei Roman andrei124 Data 25 aprilie 2015 15:17:33
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include<fstream>
using namespace std;
ifstream in("cautbin.in");
ofstream out("cautbin.out");
int v[101101];
int main()
{
    int n,m,i,j,a,x,L,pas;
    in>>n;
    for(i=1;i<=n;i++)in>>v[i];
    in>>m;
    for(j=1;j<=m;j++)
    {
    in>>a;
    in>>x;

     if(a==0||a==1)
     {
       i=0;
       pas=1<<10;
       while(pas!=0)
       {
       if((i+pas)<=n&&v[i+pas]<=x)i+=pas;
       pas/=2;}

       if(v[i]==x)out<<i<<'\n';
       else out<<-1;

     }

     else if(a==2)
     {
       i=0;
       pas=1<<10;
       while(pas!=0)
       {
         if((i+pas)<=n&&v[i+pas]<x)i+=pas;
         pas/=2;
       }
       if(v[i+1]==x)out<<i+1<<'\n';


     }
    }







return 0;

}