Cod sursa(job #2639620)

Utilizator stefanvoicaVoica Stefan stefanvoica Data 3 august 2020 11:07:53
Problema Cautare binara Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.84 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
vector<int> v;


int main()
{
    int n,i,x,op,q;
    vector<int>:: iterator poz;
    fin>>n;
    for (i=1;i<=n;i++)
    {
        fin>>x;
        v.push_back(x);
    }
    fin>>q;
    for (;q>0;--q)
    {
        fin>>op>>x;
        if (op==0)
        {
            poz=upper_bound(v.begin(),v.end(),x);
            if (v[poz-v.begin()-1]==x)
                fout<<poz-v.begin();
            else    fout<<-1;
        }
        if (op==2)
        {
            poz=lower_bound(v.begin(),v.end(),x-1);
            fout<<poz-v.begin()+1;
        }
        else    if (op==1)
        {
            poz=upper_bound(v.begin(),v.end(),x);
            fout<<poz-v.begin();
        }
        fout<<'\n';
    }
    return 0;
}