Cod sursa(job #1424787)

Utilizator Nicolas_VisoianuNicolas Visoianu Nicolas_Visoianu Data 25 aprilie 2015 15:25:53
Problema Cautare binara Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<fstream>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int v[100010];
int main()
{
    int n,m,i,j,a,x,L,pas;
    f>>n;
    for(i=1;i<=n;i++)f>>v[i];
    f>>m;
    for(j=1;j<=m;j++)
    {
    f>>a>>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)g<<-1<<'\n';
       else g<<i<<'\n';
     }
     else if(a==2)
     {
       i=0;
       while(pas!=0)
       {
         if((i+pas)<=n&&v[i+pas]<x)i+=pas;
         pas/=2;
       }
       g<<i+1<<'\n';
     }
    }
return 0;
}