CF1907D Jumping Through Segments

题目描述

Polycarp 正在为一个游戏设计关卡。这个关卡由数轴上的 $n$ 个区间组成,第 $i$ 个区间的起点为 $l_i$,终点为 $r_i$。 玩家从坐标 $0$ 处开始。在一次移动中,玩家可以移动到距离当前位置不超过 $k$ 的任意点。在第 $i$ 次移动后,玩家必须停在第 $i$ 个区间内,即坐标 $x$ 满足 $l_i \le x \le r_i$。具体来说: - 第一次移动后,玩家必须在第一个区间($l_1$ 到 $r_1$)内; - 第二次移动后,玩家必须在第二个区间($l_2$ 到 $r_2$)内; - ... - 第 $n$ 次移动后,玩家必须在第 $n$ 个区间($l_n$ 到 $r_n$)内。 如果玩家按照上述规则到达第 $n$ 个区间,则视为完成关卡。Polycarp 发现,对于某些 $k$ 的取值,关卡无法完成。 Polycarp 不希望关卡太简单,因此他希望你求出能够完成关卡的最小整数 $k$。

输入格式

第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。接下来是每个测试用例的描述。 每个测试用例的第一行包含一个整数 $n$($1 \le n \le 2 \cdot 10^5$),表示关卡中的区间数量。 接下来的 $n$ 行,每行包含两个整数 $l_i$ 和 $r_i$($0 \le l_i \le r_i \le 10^9$),表示第 $i$ 个区间的左右端点。区间可能有重叠。 保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。

输出格式

对于每个测试用例,输出一个整数,表示能够完成关卡的最小 $k$。

说明/提示

在第三个样例中,玩家可以按如下方式移动: - 从 $0$ 移动到 $5$($3 \le 5 \le 8$); - 从 $5$ 移动到 $10$($10 \le 10 \le 18$); - 从 $10$ 移动到 $7$($6 \le 7 \le 11$)。 注意,最后一步玩家也可以选择不移动,依然可以完成关卡。 由 ChatGPT 4.1 翻译