Cod sursa(job #1430552)

Utilizator Tomi98Osvath Tamas Tomi98 Data 8 mai 2015 16:29:31
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.22 kb
#include <iostream>
#include <fstream>
using namespace std;
int a,n,m,x,j,limS, limD ,v[100001],mij;
bool ok;
int main()
{
    ifstream f("cautbin.in");
    ofstream g("cautbin.out");
    f>>n;
    for (int i=1;i<=n;i++)
        f>>v[i];
    f>>m;
    for (int i=1;i<=m;i++)
    {
        f>>a>>x;
        limS=1;//limita stanga;
        limD=n;//limita dreapta;
        if (a==0)
        {
            while (limD-limS!=1)
            {
                mij=limS+(limD-limS)/2;
                if (x>=v[mij]) limS=mij;
                    else limD=mij;
            }
            mij=limS+(limD-limS)/2;
            if (v[mij]==x) g<<mij<<'\n';
                    else g<<"-1"<<'\n';
        }
        if (a==1)
        {
            while (limD-limS!=1)
            {
                mij=limS+(limD-limS)/2;
                if (x>=v[mij]) limS=mij;
                    else limD=mij;
            }
            g<<mij<<'\n';
        }
        if (a==2)
        {
            while (limD-limS!=1)
            {
                mij=limS+(limD-limS)/2;
                if (x>=v[mij]) limD=mij;
                    else limS=mij;
            }
            g<<mij<<'\n';
        }
    }

    return 0;
}