Cod sursa(job #2669012)

Utilizator claudiuhamciucHamciuc Claudiud claudiuhamciuc Data 5 noiembrie 2020 21:19:59
Problema Cautare binara Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.29 kb
#include <fstream>
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int n,v[100001],i,m,x,s,r,mij;
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;
            while(s!=r)
            {
                mij=(s+r+1)/2;
                if(v[mij]<=x)
                    s=mij;
                else
                    r=mij-1;
            }
            if(v[r]==x)
                fout<<r<<endl;
            else
                fout<<-1<<endl;
        }
        else
            if(nrc==1)
        {
            s=1;
            r=n;
            while(s!=r)
            {
                mij=(s+r+1)/2;
                if(v[mij]<=x)
                    s=mij;
                else
                    r=mij-1;
            }
            fout<<r<<endl;
        }
        else
        {
            s=1;
            r=n;
            while(s!=r)
            {
                mij=(s+r)/2;
                if(v[mij]>=x)
                    r=mij;
                else
                    s=mij+1;
            }
            fout<<r<<endl;
        }
    }
    return 0;
}