Cod sursa(job #2571529)

Utilizator 3DwArDPauliuc Edward 3DwArD Data 5 martie 2020 02:00:15
Problema Cautare binara Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>
using namespace std;

ifstream f("cautbin.in");
ofstream g("cautbin.out");
vector<int> v;

int main()
{
    int n;
    f>>n;
    for(int i=0,x;i<n;i++){
        f>>x;
        v.push_back(x);
    }

    int q;
    f>>q;
    while(q--){
        int op,x;
        f>>op>>x;
        switch(op){
        case 0:
            if(binary_search(v.begin(),v.end(),x))
               g<<upper_bound(v.begin(),v.end(), x)-v.begin();
            else
                g<<-1;
            break;
        case 1:
            g<<upper_bound(v.begin(),v.end(), x)-v.begin();
            break;

        case 2:
            g<<lower_bound(v.begin(),v.end(),x)-v.begin()+1;
            break;

        }
        g<<'\n';

    }
    return 0;
}