Cod sursa(job #1650774)

Utilizator RaduMirceaAndreiRadu Mircea Andrei RaduMirceaAndrei Data 11 martie 2016 20:24:24
Problema Cautare binara Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.05 kb
# include <fstream>
# define DIM 100010
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int n,v[DIM],i,st,dr,mij,val,e,nr;
int main () {
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>v[i];
    fin>>nr;
    for(i=1;i<=nr;i++){
        fin>>val>>e;
        if(val!=2){
            st=1;
            dr=n;
            while(st<=dr){
                mij=(st+dr)/2;
                if(v[mij]>e)
                    dr=mij-1;
                else
                    st=mij+1;
            }
            if(val==0){
                if(v[dr]==e)
                    fout<<dr<<"\n";
                else
                    fout<<-1<<"\n";
            }
            else
                fout<<dr<<"\n";
        }
        else{
            st=1;
            dr=n;
            while(st<=dr){
                mij=(st+dr)/2;
                if(v[mij]>=e)
                    dr=mij-1;
                else
                    st=mij+1;
            }
            fout<<st<<"\n";
        }
    }
    return 0;
}