Cod sursa(job #3272123)

Utilizator AndreiRaresAcatrini Rares Andrei AndreiRares Data 28 ianuarie 2025 15:12:52
Problema Cautare binara Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
#include <algorithm>
using namespace std;

ifstream fin("cautbin.in");
ofstream fout("cautbin.out");

int arr[100000];

int main()
{
    int n, m, c, x, l, r, mij, pos;
    fin >> n;
    for (int i=0; i<n; i++) fin >> arr[i];
    fin >> m;
    for (int i=1; i<=m; i++) {
        fin >> c >> x;
        if (c == 0 || c == 1) {
            pos = upper_bound(arr, arr + n, x) - arr;
            if (c == 0 && arr[pos - 1] != x) fout << "-1\n";
            else fout << pos << endl;
        }
        else {
            pos = lower_bound(arr, arr + n, x) - arr;
            fout << pos + 1;
        }
    }
}