Cod sursa(job #2428320)

Utilizator OctavVitruviusOctavian Gheorghiu OctavVitruvius Data 4 iunie 2019 18:22:33
Problema Cautare binara Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>

using namespace std;

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

int main()
{
    int n,m,v[10000],i,poz=0,x,tip;
    in>>n;

    for(i=1;i<=n;i++)
        in>>v[i];

    in>>m;
    for(tip=1;tip<=m;tip++)
        in>>tip>>x;

    for(i=1<<20;i>0;i/=2)
    {
        if(poz+i<=n&&v[poz+i]<=x)
            poz=poz+i;
    }

    if(v[poz]==x)
        out<<poz<<endl;
    else
        out<<-1<<endl;

    int max=0;
    i=1;

    while(v[i]<=x)
        {
            if(v[i]<=x&&i>max)
                max=i;
            i++;
        }
    out<<max<<endl;

    int min=n;
    i=n;

    while(v[i]>=x)
    {
        if(v[i]>=x&&i<min)
            min=i;
        i--;
    }
    out<<min;


    return 0;
}