Cod sursa(job #2834834)

Utilizator Ricardo14Olaru Ricardo Ricardo14 Data 17 ianuarie 2022 19:13:01
Problema Cautare binara Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.46 kb
#include <fstream>
#include <algorithm>

using namespace std;

ifstream cin ("cautbin.in");
ofstream cout ("cautbin.out");

int v[100005];

int main()
{
int n,m,x,mij,cer,st,dr,nr=0;
    cin >> n;
    for(int i=1; i<=n ;i++)
        cin>>v[i];


sort(v+1,v+n+1);

    cin>>m;
    for(int i=1 ;i<=m ;i++)
    {
        cin>>cer>>x;
        if(cer == 0){
 nr=0;//
    dr=n;
    st=1;

    while(st<=dr)
            {
              mij=(st+dr)/2;
            if(v[mij]<=x) {
                st=mij + 1;
            if(v[mij]==x){
                nr=mij;
                    }
                }
                else
                    dr=mij -1;
            }
            cout<<nr<<endl;
        }

        if (cer==1){


            nr=0;
            st=1;
            dr=n;
            while(st<=dr)
            {
               mij=(st+dr)/2;
                if(v[mij]<=x) {
                    st=mij +1;
                    nr=mij;
                }
                else
                    dr =mij -1;
            }
            cout<<nr<<endl;
        }

        if (cer == 2)
            {

 st=1;
    dr=n;
    nr=0;

        while(st<=dr)
             {
            mij=(st+dr)/2;
                if(v[mij]<x) {
                st=mij+1;
                 }
                else
                {
                nr=mij;
            dr=mij-1;
    }
    }
    cout<<nr<<endl;
    }

}


    return 0;
}