Cod sursa(job #2786518)

Utilizator AndreidreiGresoiu Liviu-Andrei Andreidrei Data 21 octombrie 2021 09:26:04
Problema Cautare binara Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>
#define din cin
#define dout out
#define pi 3.14159265359
#define sw(x,y) x^=y,y^=x,x^=y
#define bmin(a,b)((a<b)?(a):(b))
#define bmax(a,b)((a>b)?(a):(b))
#define ll long long
using namespace std;
ifstream in("cautbin.in");
ofstream out("cautbin.out");
int n,m,i,a[100001],p,x,*k;
int main()
{
in>>n;
for(i=0;i<n;i++)in>>a[i];
in>>m;
while(m--){
    in>>p>>x;
    switch(p){
    case 0:
    k=lower_bound(a,a+n,x+1)-1;
    out<<(*k==x?k-a+1:-1)<<'\n';
    break;
    case 1:
    out<<lower_bound(a,a+n,x+1)-a<<'\n';
    break;
    default:
    out<<lower_bound(a,a+n,x)-a+1<<'\n';
    }
}
}