Cod sursa(job #2069952)

Utilizator RaduIonescuRadu Ionescu RaduIonescu Data 19 noiembrie 2017 00:09:25
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int N,i,M,j,Q,v[1000],f,I;
short Z;

int zero (int p)
{
    f=0;
    for (i=0;i<N;i++)
        if (v[i]==p)
        {
            I=i;
            f=1;
        }
        if (f) return I+1;
        if (!f) return -1;
}

int unu (int p)
{
    for (i=0;i<N;i++)
        if (v[i]<=p)
            if (i>=I) I=i;
    return I+1;

}

int doi (int p)
{
    for (i=0;i<N;i++)
        if (v[i]>=p)
            if (i<=I) I=i;
    return I+1;
}

int main()
{
    in>>N;
    for (i=0;i<N;i++) in>>v[i];

    in>>M;

    for (j=1;j<=M;j++)
    {
        in>>Z>>Q;
        if (Z==0) out<<zero(Q)<<"\n";
        if (Z==1) out<<unu(Q)<<"\n";
        if (Z==2) out<<doi(Q)<<"\n";

    }

    return 0;
}