U120842.The Strict Teacher (Hard Version)
普及/提高-
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
Narek 和 Tsovak 正在热火朝天地准备这场比赛,所以他们没时间去做作业了,因此,他们决定去偷 David 的作业。
严厉的老师发现 David 的作业没了非常生气,打算狠狠地惩罚他,于是她雇佣了别的老师帮她一起抓捕 David。
现在有 m 个老师正在一起追 David。幸运的是,教室非常的大,所以 David 有充足的躲藏空间。
教室可以被表示为一条一维直线,上面有 n 个单元格编号从 1 到 n,包含边界。
最初,David 和这 m 个老师在不同的单元格中。然后他们将会进行若干次行动。每次行动中:
- 首先,David 可以移动到一个相邻的单元格中,也可以不动。
- 然后,每位老师也进行这样的一次移动。
行动将一直持续知道 David 被抓住,即有任何一个老师和 David 位于同一个单元格中。所有人都看得见其它人的行动。
你的任务是计算在所有人按照最优方案行动的前提下,多少次行动后 David 会被抓住。
按照最优方案行动,是指:
- David 采取一种方案,使得老师抓住他所需的行动次数最大。
- 老师之间相互配合并采用一种方案,使得他们能够用最少的行动次数抓住 David。
Narek 和 Tsovak 认为这个任务太简单了,于是他们决定给你 q 次询问。
输入格式
每个测试点有多组数据。
第一行有一个正整数 t(1≤t≤105),表示数据的组数。
每组数据的第一行有三个正整数 n,m,q(1≤n≤2∗105,1≤m,q≤2∗105),分别表示单元格个数,老师个数,和询问次数。
每组数据的第二行有 m 个不同的正整数 b1,b2,…,bm(1≤bi≤n),代表每个老师初始的位置。
每组数据的第三行有 q 个正整数 a1,a2,…,aq(1≤ai≤n),代表每次询问中 David 的初始位置。
保证 ∀i∈[1,m],j∈[1,q],bi=aj。
保证 ∑m,∑q≤2⋅105。
输出格式
对于每组数据,输出 q 行,第 i 行是这组数据中的第 i 次询问的答案。
输入输出样例
输入#1
2 8 1 1 6 3 10 3 3 1 4 8 2 3 10
输出#1
5 1 1 2
说明/提示
数据范围与约定
- 1≤t≤104。
- 1≤n,m≤2⋅105。
- 1≤ai,bj≤109。
输入解题思路,AI测评打分。不知道怎么写?