Type: Default 1000ms 256MiB

嫌疑人

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

问题描述

在警方调查中,已经确定了 nn 个嫌疑人,现在就靠目击者找到犯罪者了。现已测量出每个嫌疑人 ii 的身高,但是由于测量的不可靠性,所以他们的身高是一个从 lil_irir_i 范围内的实数(包括两端)。最多一个嫌疑人是犯罪者,并且存在他们都不是犯罪者的情况。

对于一次排队,首先要选择两个正整数 aabb,其中 1abn1\le a\le b\le n,然后把嫌疑人 a,a+1,,ba,a+1,\ldots,b 带到另一个房间,让目击者可以认出犯罪人。因为如果有两个嫌疑人身高相同的话,目击者可能会有疑惑,所以只有在有可能保证没有两个嫌疑人的身高相同的时候,才能进行一次排队。在一次排队的过程中,如果犯罪人在选出的嫌疑人中,目击者总可以分辨出来,或者他们可以分辨出犯罪人不在这些嫌疑人中。

警方的首席调查员目前对这样形式的问题感兴趣:「如果我能确定犯罪人的编号只能在 ppqq 之间(pqp\le q),那么在最差情况下,需要多少次排队才能让目击者找出犯罪人,或者报告犯罪人不在嫌疑人中?」请帮助首席调查员回答 qq 个这样的问题。

输入格式

第一行包含一个正整数 nn,表示嫌疑人数。

接下来 nn 行,每行两个正整数 lil_iri (1liri109)r_i\ (1\le l_i\le r_i\le 10^9),表示编号为 ii 的嫌疑人身高范围。

接下来一行包含一个正整数 qq,表示问题个数。

接下来 qq 行,每行两个正整数 pip_iqi (1piqin)q_i\ (1\le p_i\le q_i\le n),表示一个问题。

输出格式

输出 qq 行,每一行输出对应问题的答案:最少需要多少次排队。

2
1 1
1 1
3
1 1
2 2
1 2
1
1
2
3
1 1
2 2
3 3
3
1 1
2 3
1 3
1
1
1
5
1 3
3 3
4 6
2 3
1 1
3
1 4
3 5
1 5
3
1
3

对于第一个和第三个问题,只需要三次排队就可以:第一次包含嫌疑人 11,第二次包含嫌疑人 2233,第三次包含嫌疑人 4455

对于第二个问题,只需要一次排队,包含嫌疑人 3,43,455 就可以。

数据范围

对于所有子任务,保证 1n,q200 0001\le n,q\le 200\ 000

子任务编号 附加限制 分值
11 q=1,p1=1,q1=nq=1,p_1=1,q_1=n 1010
22 1n5000,1q50001\le n\le 5000,1\le q\le 5000 1010
33 1n5000,1q200 0001\le n\le 5000,1\le q\le 200\ 000 2020
44 1n200 000,1q1001\le n\le 200\ 000,1\le q\le 100 2020
55 无附加限制 4040

排位赛1

Not Attended
Status
Done
Rule
IOI
Problem
8
Start at
2023-7-11 8:00
End at
2023-7-11 12:00
Duration
4 hour(s)
Host
Partic.
21