Cod sursa(job #3343603)

Utilizator Alias47John Doe Alias47 Data 27 februarie 2026 20:16:37
Problema Cautare binara Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;

string file = "cautbin";
ifstream f(file + ".in");
ofstream g(file + ".out");

long long v[100001];

int main()
{
    long long n, m, c, x, maxx, i, j;
    f >> n;
    for (i = 1; i <= n; i++) f >> v[i];
    v[n + 1] = -1;
    f >> m;
    for (i = 1; i <= m; i++)
    {
        f >> c >> x;
        if (c == 0)
        {
            long long r = upper_bound(v + 1, v + n + 1, x + 1) - v - 1;
            if (r == -1) g << -1 << "\n";
            else g << r << "\n";
        }
        if (c == 1)
            g << lower_bound(v + 1, v + n + 1, x + 1) - v - 1 << "\n";
        if (c == 2)
            g << upper_bound(v + 1, v + n + 1, x - 1) - v << "\n";
    }
    return 0;
}