Cod sursa(job #2293887)

Utilizator mariaionescu2006Ionescu Maria mariaionescu2006 Data 1 decembrie 2018 18:00:15
Problema Cautare binara Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("cautbin.in");
ofstream fout ("cautbin.out");
int v[100001],n,i,m,q,x,t;
int main()
{
    fin >>n;
    for (i=1;i<=n;i++)
        {fin >>v[i];}
    fin >>m;
    for (i=1;i<=m;i++)
        {fin >>q>>x;
         if (q==0) {t=upper_bound(v+1,v+n+1,x)-v-1;
                    if (t<=n && t>=1 && v[t]==x) fout <<t<<'\n';
                    else fout <<-1<<'\n';}
         else if (q==1) {t=lower_bound(v+1,v+n+1,x+1)-v-1;
                         fout <<t<<'\n';}
         else {t=upper_bound(v+1,v+n+1,x-1)-v;
               fout <<t<<'\n';}}
    return 0;
}