Cod sursa(job #1424772)

Utilizator Firealex2Rotileanu Alexandru Firealex2 Data 25 aprilie 2015 15:15:39
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <fstream>
#include <math.h>

using namespace std;
ifstream fi("cautbin.in");
ofstream fo("cautbin.out");
const int N = 100000;
int v[N+1];

int main()
{
    int i, pas, n, m, x, j, intr;
    fi>>n;
    for(i=1;i<=n;i++)
      fi>>v[i];
    fi>>m;
    i=0;
    pas=n;
    for(j=1;j<=m;j++)
    {
      fi>>intr;
      fi>>x;
      pas=n;
      i=0;
      if((intr==0)||(intr==1))
        {
          while(pas!=0)
          {
            if((i+pas<=n)&&(v[i+pas]<=x))
              i+=pas;
            pas/=2;
          }
          fo<<i+1<<"\n";
        }
      else
        {
          while(pas!=0)
            {
              if((i+pas<=n)&&(v[i+pas]<x))
                i+=pas;
              pas/=2;

            }
          fo<<i+1<<"\n";
        }
    }


    return 0;
}