#301. 空降兵降落

空降兵降落

题目描述

在一次夜间空降演习中,一名空降兵被空投到一片陌生战区。战区被建模为一个二维坐标系,地面为 xx 轴,上方有 nn空中廊桥(编号 1n1\sim n),每座桥与地面平行,可视为一条从 (li,yi)(l_i, y_i)(ri,yi)(r_i, y_i)水平线段(厚度忽略不计)。

空降兵初始位于 (Sx,Sy)(S_x, S_y),其运动情况遵循以下规则:

  • 若空降兵正在某座廊桥上(即 li<x<ril_i < x < r_iy=yiy = y_i),他会立即沿桥面向右奔跑,直到跑出桥的边缘(此时横坐标变为 rir_i)。
  • 若空降兵不在任何廊桥上,他将自由落体,直到落到某座廊桥上或最终落地。
  • 落地后将立即停止,此时他的横坐标即为最终着陆点。

注:机器人只有在其 xx 坐标严格位于 1i1_irir_i 之间时(即 1i<x<ri1_i<x<r_i),才能记作位于第 ii 个廊桥上。

指挥部需要提前预测:这名空降兵最终会在地面的哪个位置着陆?

空降兵移动图

输入格式

每个样例点包含多组测试用例。第一行包含一个整数 T (1T2×105)T\ (1 \le T \le 2 \times 10^5),表示测试用例组数。对于每组测试用例:

  • 第一行包含一个整数 n (1n2×105)n\ (1 \le n \le 2 \times 10^5),表示空中廊桥数量。
  • 接下来 nn 行:每行三个整数 $l_i, r_i, y_i\ (1 \le l_i < r_i \le 10^9,\ 1 \le y_i \le 10^9)$,描述第 ii 座廊桥的水平范围与高度。题目保证所有廊桥互不重叠(即任意两座桥不存在公共点)。
  • 最后一行:两个整数 Sx,Sy (1Sx,Sy109)S_x, S_y\ (1 \le S_x, S_y \le 10^9),表示空降兵的初始坐标。

保证每组测试用例中 n2×105\sum n \le 2 \times 10^5

输出格式

对于每组测试用例,输出一行,包含一个整数,表示空降兵最终落地的横坐标。

样例

2
7
4 6 1
12 14 2
5 11 3
1 6 4
11 13 4
4 7 5
3 5 6
4 7
1
2 4 2
2 5
11
2

说明/提示

第一组测试用例的移动示意图如上文所示。

第二组测试用例中,空降兵将持续自由落体,最终以初始 xx 坐标降落在地面。

题源:2024 CCPC长春邀请赛 G题