Cod sursa(job #2339165)

Utilizator MitracheMitrache Cristiana Alexandra Mitrache Data 8 februarie 2019 15:29:28
Problema Cautare binara Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in ("cautbin.in");
ofstream out ("cautbin.out");
int v[100000001],n;
int cbin(int val)
{
    int pos=0;
    for( int msk=1<<20;msk>0;msk/=2)
        if(pos+msk<=n && v[pos+msk]<=val)
            pos+=msh;
        return pos;

}
int main()
{
    int  i,x,m,c,p;
    in>>n;
    for(i=1; i<=n; i++)
    {
        in>>v[i];
    }
    in>>m;
    for(i=1;i<=n;i++)
{
    in>>c>>x;
    if(c==0)
    {
        p=cbin(x);
        if(v[p]==x)
            out<<p<<'\n';
        else
            out<<"-1"<<'\n';
    }
    if(c==1)
    {
        p=cbin(x);
        out<<p<<'\n';

    }
    if(c==2)
    {
        p=cbin(x-1);
        out<<p+1<<'\n';
    }
}
    return 0;
}