0 out of 464 challenges solved

Left Insertion Point

Write a function `left_insertion(a, x)` that takes a sorted list `a` and a value `x`, and returns the index where `x` should be inserted to maintain sorted order. If `x` is already present, the function should return the index of the first occurrence of `x`.

#### Example Usage
```python [main.nopy]
print(left_insertion([1, 2, 4, 5], 6))  # Output: 4
print(left_insertion([1, 2, 4, 5], 3))  # Output: 2
print(left_insertion([1, 2, 4, 5], 7))  # Output: 4
```

#### Constraints
- The input list `a` is guaranteed to be sorted in ascending order.
- The function should have a time complexity of O(log n).
- You may use the `bisect` module for this task.
import bisect

def left_insertion(a, x):
    """
    Find the left insertion point for x in sorted list a.

    Parameters:
    a (list): A sorted list of elements.
    x (any): The value to find the insertion point for.

    Returns:
    int: The index where x should be inserted.
    """
    # Your code here
    pass