Cod sursa(job #1902020)

Utilizator GheteaMihaiGhetea Mihai GheteaMihai Data 4 martie 2017 12:48:50
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.03 kb
#include <fstream>

using namespace std;

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

int n,m,v[100001],x;
bool a[100001];

void bordare(int b)
{
    for(int i=1;i<=n;i++)
        if(v[i]==b)
        a[i]=1;
}
void afara()
{
    for(int i=1;i<=n;i++)
        a[i]=0;
}
int cautbin()
{
    for(int i=n;i>=1;i--)
        if(a[i]==1)
        return i;
        return -1;
}
int cautbin1(int b)
{
    for(int i=n;i>=1;i--)
        if(b>=v[i])
        return i;
}
int cautbin2(int b)
{
    for(int i=1;i<=n;i++)
        if(v[i]>=b)
        return i;
}
int main()
{
    in>>n;
    for(int i=1;i<=n;i++)
        in>>v[i];
    in>>m;
    for(int i=1;i<=m;i++)
    {
        int q,z;
        in>>q>>z;
        if(q==0)
        {
            bordare(z);
            out<<cautbin()<<" ";
            afara();
        }
        if(q==1)
        {
            out<<cautbin1(z)<<" ";
        }
        if(q==2)
        {
            out<<cautbin2(z)<<" ";
        }
    }
    return 0;
}