Cod sursa(job #1424771)

Utilizator jaocChitu Stefan Catalin jaoc Data 25 aprilie 2015 15:12:59
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("cautbin.in");
ofstream out("cautbin.out");
int v[1000001];
int main()
{
    int n,i,m,k,x,pas;
    in>>n;
    for(i=1;i<=n;i++)
        in>>v[i];
    in>>m;
    while(m){
      in>>k>>x;
      i=0;
      pas=1<<16;
      if(k==0 || k==1){
       while(pas){
        if(i+pas<n && v[i+pas]<=x)
           i+=pas;
        pas/=2;
        }
      }
      if(k==2){
       while(pas){
        if(i+pas<n && v[i+pas]<x)
           i+=pas;
        pas/=2;
        }
        i++;
      }
      out<<i<<'\n';
      m--;
    }
    return 0;
}