Cod sursa(job #1837130)

Utilizator HartMuskBorneas Cristian HartMusk Data 29 decembrie 2016 00:35:52
Problema Cautare binara Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.95 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>


using namespace std;

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



int main()
{
    int i,n,a,b,m;


    fin>>n;

    vector <int> v(n);

    for(auto &e : v)
    {
        fin>>e;
    }

    fin>>m;

    for(i=1;i<=m;i++)
    {
        fin>>a>>b;

        if(a==0)
        {
            if(binary_search(v.begin(), v.end(), b))
            {
                auto up=upper_bound(v.begin(),v.end(),b);

                fout<<up-v.begin()<<"\n";
            }
            else fout<<"-1\n";
        }

        if(a==1)
            {


                auto up=upper_bound(v.begin(),v.end(),b);

                fout<<up-v.begin()<<"\n";

            }
          if(a==2)
            {


                auto up=lower_bound(v.begin(),v.end(),b);

                fout<<up-v.begin()+1<<"\n";


        }
    }

}