Cod sursa(job #2669352)

Utilizator claudiuhamciucHamciuc Claudiud claudiuhamciuc Data 6 noiembrie 2020 19:54:58
Problema Cautare binara Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.45 kb
#include <fstream>
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int n,v[100001],i,m,x,s,r,mij,poz;
short int nrc;
int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>v[i];
    fin>>m;
    int j;
    for(i=1;i<=m;i++)
    {
        fin>>nrc>>x;
        if(nrc==0)
        {
            s=1;
            r=n;
            poz=-1;
            while(s<=r)
            {
                mij=(s+r)/2;
                if(v[mij]==x)
                    poz=mij;
                if(v[mij]<=x)
                    s=mij+1;
                else
                    r=mij-1;
            }
            fout<<poz<<endl;
        }
        else
            if(nrc==1)
           {
            s=1;
            r=n;
            poz=-1;
            while(s<=r)
            {
                mij=(s+r)/2;
                if(v[mij]<=x){
                    poz=mij;
                    s=mij+1;
                }
                else
                    r=mij-1;
            }
            fout<<poz<<endl;
        }
        else
        {
            s=1;
            r=n;
            poz=-1;
            while(s<=r)
            {
                mij=(s+r)/2;
                if(v[mij]>=x){
                    poz=mij;
                    r=mij-1;
                }
                else
                    s=mij+1;
            }
            fout<<poz<<endl;
        }
    }
    return 0;
}