你是一个快递公司的经理,你想在一条繁忙的街道上找一个地点建立新的服务中心。你已经知道街道上每个需要服务的区域的具体位置。你的任务是选择一个地点,使得这个服务中心到街上所有区域的距离之和最短。
输入:
开始是一个数字 n,表示有多少个需要服务的区域(1 ≤ n ≤ 10^5)。
接下来的 n 行,每行都有两个数字 left 和 right。这表示一个区域的起点和终点。
输出:
返回服务中心的位置 location,使得到所有区域的距离之和最短。
距离计算规则:
如果一个区域的终点 right 小于服务中心位置 location,那么距离为 location - right。
如果一个区域的起点 left 大于服务中心位置 location,那么距离为 left - location。
如果服务中心位置 location 在 left 和 right 之间,则距离为0。
示例:
输入:
3
1 2
3 4
10 20
输出:
8
def optimal_distance(count, client_positions):