Cod sursa(job #1839121)

Utilizator EdythestarGhiriti Edmond Edythestar Data 2 ianuarie 2017 14:38:21
Problema Cautare binara Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;

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

int cmp(int i,int j)
{
    return i>j;
}

int main()
{
    int n;
    fin>>n;
    vector<int> v(n);
    for(auto &elem : v) fin>>elem;
    int k;
    fin>>k;
    int a,b,i,p;
    for(i=1;i<=k;i++)
    {
        fin>>a>>b;
        if(a==0)
        {
           if(binary_search(v.begin(),v.end(),b))
           {
              auto p=upper_bound(v.begin(),v.end(),b);
               fout<<p-v.begin()<<"\n";
           }
           else fout<<-1<<"\n";
        }
        if(a==1)
        {
            auto p=upper_bound(v.begin(),v.end(),b);
            fout<<p-v.begin()<<"\n";
        }
        if(a==2)
        {
           auto p=lower_bound(v.begin(),v.end(),b);
            fout<<p-v.begin()+1<<"\n";
        }
    }

}