Cod sursa(job #3361267)

Utilizator DavidboangiuBoangiu David Andrei Davidboangiu Data 22 iulie 2026 15:11:18
Problema Cautare binara Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
vector <int> v;
int p,n,i,x,y,q;
int main()
{
    f>>n;
    for(i=1; i<=n; i++)
    {
        f>>x;
        v.push_back(x);
    }
    f>>q;
    for(i=1; i<=q; i++)
    {
        f>>x>>y;
        if(x==0)
        {
            p=upper_bound(v.begin(),v.end(),y)-v.begin()-1;
            if(p<0 or v[p]!=y) g<<"-1\n";
            else g<<p+1<<'\n';
        }
        else if(x==1)
        {
            g<<upper_bound(v.begin(),v.end(),y)-v.begin()<<'\n';
        }
        else
        {
            g<<lower_bound(v.begin(),v.end(),y)-v.begin()+1<<'\n';
        }
    }
}