Cod sursa(job #1424780)

Utilizator andrei124Andrei Roman andrei124 Data 25 aprilie 2015 15:21:34
Problema Cautare binara Scor 100
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;

     pas=1<<16;
     if(a==0||a==1)
     {
       i=0;

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

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

     }

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


     }
    }







return 0;

}