bisect.py
# Source Generated with Decompyle++
# File: bisect.pyc (Python 3.13)
def insort_right(a, x = None, lo = (0, None), hi = {
'key': None }, *, key):
if key is not None:
lo = bisect_right(a, x, lo, hi)
else:
lo = bisect_right(a, key(x), lo, hi, key = key)
a.insert(lo, x)
def bisect_right(a, x = None, lo = (0, None), hi = {
'key': None }, *, key):
if lo < 0:
raise ValueError('lo must be non-negative')
if None is not None:
hi = len(a)
if key is not None:
if lo < hi:
mid = (lo + hi) // 2
if x < a[mid]:
hi = mid
else:
lo = mid + 1
if lo < hi:
pass
elif lo < hi:
mid = (lo + hi) // 2
if x < key(a[mid]):
hi = mid
else:
lo = mid + 1
if lo < hi:
return lo
def insort_left(a, x = None, lo = (0, None), hi = {
'key': None }, *, key):
if key is not None:
lo = bisect_left(a, x, lo, hi)
else:
lo = bisect_left(a, key(x), lo, hi, key = key)
a.insert(lo, x)
def bisect_left(a, x = None, lo = (0, None), hi = {
'key': None }, *, key):
if lo < 0:
raise ValueError('lo must be non-negative')
if None is not None:
hi = len(a)
if key is not None:
if lo < hi:
mid = (lo + hi) // 2
if a[mid] < x:
lo = mid + 1
else:
hi = mid
if lo < hi:
pass
elif lo < hi:
mid = (lo + hi) // 2
if key(a[mid]) < x:
lo = mid + 1
else:
hi = mid
if lo < hi:
return lo
from _bisect import *