Cod sursa(job #780247)

Utilizator stefanzzzStefan Popa stefanzzz Data 20 august 2012 08:49:08
Problema Cautare binara Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#include <algorithm>
#define MAXN 100005
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");

int n,m,a,x,v[MAXN],*it;

int main()
{
    int i;
    f>>n;
    for(i=1;i<=n;i++)
        f>>v[i];
    f>>m;
    for(i=1;i<=m;i++){
        f>>a>>x;
        if(a==2){
            it=lower_bound(v+1,v+n+1,x);
            g<<it-v<<'\n';}
        else{
            it=upper_bound(v+1,v+n+1,x);
            if(a)
                g<<it-v-1<<'\n';
            else{
                if(*(it-1)==x)
                    g<<it-v-1<<'\n';
                else
                    g<<"-1\n";}}}
    f.close();
    g.close();
    return 0;
}