Cod sursa(job #2628175)

Utilizator StasBrega Stanislav Stas Data 14 iunie 2020 18:39:08
Problema Cautare binara Scor 0
Compilator py Status done
Runda Arhiva educationala Marime 0.54 kb
import bisect
with open("date.in", "r") as f, open("date.out", "w") as g:
    n, a, m = int(f.readline()), list(int(i) for i in f.readline().split()), int(f.readline())
    for i in range(m):
        o, x = (int(i) for i in f.readline().split())
        if o == 0:
            poz = bisect.bisect_right(a, x)
            g.write(str(poz if poz and a[poz - 1] == x else -1))
        elif o == 1:
            g.write(str(bisect.bisect_right(a, x)))
        else:
            g.write(str(bisect.bisect_left(a, x) + 1))
        g.write('\n')