Cod sursa(job #912750)

Utilizator crudu_denisDenis Crudu crudu_denis Data 12 martie 2013 18:02:23
Problema Cautare binara Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include<fstream>
#include<algorithm>
using namespace std;
int v[100010],n,m;
int main()
{
    ifstream fin("cautbin.in");
    ofstream fout("cautbin.out");
    fin>>n;
    int i;
    for(i=0;i<n;i++)
        fin>>v[i];
    fin>>m;
    int a,b,x;
    for(i=1;i<=m;i++)
    {
        fin>>a>>b;
        if(a==0)
        {
            x=upper_bound(v,v+n,b)-v;
            if(v[x-1]==b)
                fout<<x<<endl;
            else
                fout<<"-1"<<endl;
        }
        else
            if(a==1)
            {
                x=upper_bound(v,v+n,b)-v;
                fout<<x<<endl;
            }
            else
            if(a==2)
            {
                x=lower_bound(v,v+n,b)-v;
                fout<<x+1<<endl;
            }
    }
}