Cod sursa(job #927444)

Utilizator dan.ghitaDan Ghita dan.ghita Data 25 martie 2013 20:02:12
Problema Cautare binara Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
vector<int> v;
vector<int>::iterator it;
int n, m, a, b, x;
ofstream g("cautbin.out");
ifstream f("cautbin.in");
int main()
{
    f>>n;
    for(int i=0; i<n;++i)
        f>>x, v.push_back(x);
        sort(v.begin(), v.end());
    f>>m;

        for(int i=0; i<m;++i){
            f>>a>>b;
            if(!a){
                it=upper_bound(v.begin(), v.end(), b);
                if(!(v[it-v.begin()-1]==b)) g<<"-1"<<'\n';
                else g<<it-v.begin()<<'\n';
                }
            else if(a==1)
                g<<upper_bound(v.begin(), v.end(), b)-v.begin()<<'\n';
            else g<<lower_bound(v.begin(), v.end(), b)-v.begin()+1<<'\n';
        }









    return 0;
}