Cod sursa(job #2908816)

Utilizator maiaauUngureanu Maia maiaau Data 6 iunie 2022 00:19:28
Problema Cautare binara Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>
using namespace std;

ifstream f("cautbin.in");
ofstream g("cautbin.out");

int16_t c;
int n, m, val, v[100001], indx;

int main()
{
    f >> n;
    for (int i = 1; i <= n; i++) f >> v[i];
    f >> m;
    for(; m; m--){
        f >> c >> val;
        if(c == 0){
            indx = upper_bound(v + 1, v + n + 1, val) - v - 1;
            if(v[indx] == val && indx > 0 && indx <= n) g << indx;
            else g << "-1\n";
        }
        else if(c == 1)
            g << upper_bound(v + 1, v + n + 1, val) - v - 1;
        else
            g << lower_bound(v + 1, v + n + 1, val) - v;
        g << '\n';
    }
    return 0;
}