from typing import List


def check_interval_coverage(intvl_upper_limit: int, sub_intvl_positions: List[int], range_length: int = 1) -> bool:
    """
    Method that checks if given sub-intervals are correctly situated to cover all the original segment.

    :param intvl_upper_limit: upper bound of the interval
    :param sub_intvl_positions: middle point positions of the sub-intervals
    :param range_length: range of the sub-interval from the middle point
    :return: True is the solution is valid, false otherwise
    """
    if intvl_upper_limit == 0:
        raise ValueError('The upper limit of the interval has to be bigger than 0')
    covered = 0
    for position in sub_intvl_positions:
        lower_bound = position - range_length
        upper_bound = position + range_length
        if lower_bound <= covered < upper_bound:
            covered = upper_bound
    if covered >= intvl_upper_limit:
        return True
    else:
        return False