Cod sursa(job #2396916)

Utilizator TeddyDinutaDinuta Eduard Stefan TeddyDinuta Data 3 aprilie 2019 22:34:22
Problema Cautare binara Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("cautbin.in");
ofstream out("cautbin.out");
int n,m,a[100100],q,x,p;
int main()
{
   in>>n;
   for(int i=1;i<=n;i++) in>>a[i];
   in>>m;
   while(m--)
   {
       in>>q>>x;
       if(q==0)
       {
          p=lower_bound(a+1,a+n+1,x+1)-a-1;
          if(a[p]==x) out<<p<<'\n';
          else out<<-1<<'\n';
       }
       else if(q==1)
       {
           p=upper_bound(a+1,a+n+1,x)-a-1;
           out<<p<<'\n';
       }
       else
       {
           p=lower_bound(a+1,a+n+1,x)-a;
           out<<p<<'\n';
       }
   }
}