Cod sursa(job #1256629)

Utilizator ZimmyZimmermann Erich Zimmy Data 6 noiembrie 2014 18:02:17
Problema Cautare binara Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
#include <algorithm>

using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int a[100010],n,m,i,j,x,c;
int main()
{
    fin>>n;
    for(i=1;i<=n;i++)fin>>a[i];
    fin>>m;
    for(;m;m--)
    {
        fin>>c>>x;
        i=(int)(lower_bound(a+1,a+n+1,x)-a);
        j=(int)(upper_bound(a+1,a+n+1,x)-a);
        if(c==0)
        {
            if(i==j)fout<<-1<<'\n';
            else fout<<j-1<<'\n';
        }
        if(c==1)
        {
            fout<<j-1<<'\n';
        }
        if(c==2)
        {
            fout<<i<<'\n';
        }
    }
    return 0;
}