Cod sursa(job #2119546)

Utilizator radugnnGone Radu Mihnea radugnn Data 1 februarie 2018 13:47:57
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.05 kb

#include <fstream>
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int n,v[100001],i,a,r,x,dr,st,mid;
int main()
{   fin>>n;
  for(i=1;i<=n;i++)
    fin>>v[i];
    fin>>a;
    for(i=1;i<=a;i++){
        fin>>r>>x;
        if(r==0){
            st=1;dr=n;
            while(st<=dr){
                mid=(st+dr)/2;
                if(v[mid]>x)
                dr=mid-1;
                else
                st=mid+1;

            }
        fout<<dr<<endl;
        }
        if(r==1){
            st=1;dr=n;
            while(st<=dr){
                mid=(st+dr)/2;
                if(v[mid]>x)
                dr=mid-1;
                else
                st=mid+1;

            }
        fout<<dr<<endl;
        }
        if(r==2){
            st=1;dr=n;
            while(st<=dr){
                mid=(st+dr)/2;
                if(v[mid]>=x)
                dr=mid-1;
                else
                st=mid+1;

            }
        fout<<st<<endl;
        }
    }

    return 0;
}