#P8391. [BalticOI 2022 Day1] Event Hopping

[BalticOI 2022 Day1] Event Hopping

题目描述

nn 个区间,第 ii 个区间为 [li,ri][l_i,r_i]

你可以在区间之间跳跃。当你在第 xx 个区间上时,你可以跳到一个覆盖右端点 rxr_x 的区间 yy 上,即从 xx 能跳到 yy 当且仅当 [rx[ly,ry]][r_x \in [l_y,r_y]]

qq 次询问,每次你一开始在第 sis_i 个区间,你需要跳到第 tit_i 个区间。你需要输出你至少需要跳多少次。如果不能跳到,输出 impossible

输入格式

第一行,两个整数 n,qn, q

接下来 nn 行,每行两个整数 lil_irir_i

接下来 qq 行,每行两个整数 sis_itit_i

输出格式

输出 qq 行,第 ii 行输出第 ii 次询问的答案。如果无解输出 impossible

5 2
1 3
2 4
4 7
7 9
3 7
1 4
3 2
2
impossible

8 5
1 2
3 4
1 5
6 7
5 10
10 20
15 20
999999999 1000000000
1 6
1 7
2 4
3 3
5 8

3
4
impossible
0
impossible

提示

  • 子任务 11 (1010 分):每一个区间可以跳到至多一个其他区间。

  • 子任务 22 (1010 分):n1000n≤ 1000q100q ≤100

  • 子任务 33 (1515 分):n5000n≤5000

  • 子任务 44 (1515 分):q100q ≤100

  • 子任务 55 (2020 分):不存在两个区间 i,ji,j 满足 [li,ri][lj,rj][l_i, r_i] \subseteq [l_j,r_j]

  • 子任务 66 (3030 分):没有特殊限制。

对于所有数据,满足 1n,q1000001≤n,q ≤1000001li<ri1091≤l_i<r_i≤10^91si,tin1≤s_i,t_i≤n