Cod sursa(job #2204045)

Utilizator cc4infinityCojocaru Catalin cc4infinity Data 14 mai 2018 11:15:23
Problema Cautare binara Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>

using namespace std;
int i,j,m,n,a,b,s,t[100005],xs,ys,xb,yb,e,l,x,d,x1;
int c;
    ifstream fin("cautbin.in");
    ofstream fout("cautbin.out");
void caut(int x,int y)
{
    if (x>=y) {s=x; return;}
    int mid=(x+y)/2;
    if (t[mid]>x1) caut(x,mid);
            else  caut(mid+1,y);
    return;
}
int main()
{

    fin>>n;
    for (i=1;i<=n;i++)
        fin>>t[i];
    fin>>m;
    for (i=1;i<=m;i++)
    {
        fin>>c>>x1;
        s=1; d=n;
        if (c==2) x1--;
        caut(s,d);
        if (c==0) if (t[s-1]==x1) fout<<s-1<<"\n"; else fout<<-1<<"\n";
        if (c==1) if (t[s]>x1 || s>n) fout<<s-1<<"\n"; else fout<<s<<"\n";
        if (c==2) fout<<s<<"\n";
    }
    return 0;
}