Cod sursa(job #2648903)

Utilizator RaduMirRadu Mirigel RaduMir Data 12 septembrie 2020 14:24:44
Problema Cautare binara Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.47 kb
#include <fstream>

using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int v[100005],n,i,x,mid,t,l,r,m;
int main()
{
    f>>n;
    for(i=1;i<=n;i++)
    {
        f>>v[i];
    }
    f>>m;
    for(i=1;i<=m;i++)
    {
        f>>t>>x;
        if(t==0)
        {
            for(l=1,r=n; l<=r; )
            {
                mid = (l + r) /2;
                if(v[mid]<=x)
                {
                    l=mid + 1;
                }
                else
                {
                    r=mid - 1;
                }
            }
            if (v[r] == x) {
                g << r <<"\n";
            }
            else
            {
                g<<-1<<"\n";
            }
        }

        if(t==1)
        {
            for(l=1,r=n; l<=r; )
            {
                mid = (l + r) /2;
                if(v[mid]<=x)
                {
                    l=mid + 1;
                }
                else
                {
                    r=mid - 1;
                }
            }
            g<<r<<"\n";
        }
        if(t==2)
        {
            for(l=1,r=n; l<=r; )
            {
                mid = (l + r) /2;
                if(v[mid]<x)
                {
                    l=mid + 1;
                }
                else
                {
                    r=mid - 1;
                }
            }
            g<<l<<"\n";
        }

    }
    return 0;
}