ZUFEOJ
Home
ProblemSet
Source/Category
Contest
Status
Ranklist
F.A.Qs
ContestProblemSetList
Login
Register
问题 M: 办公室钥匙
内存限制:128 MB
时间限制:1 S
题面:传统
评测方式:文本比较
上传者:
提交:43
通过:17
返回比赛
提交
提交记录
题目描述
直线上有n个人和k把钥匙。每个人都想去位于生产线上的办公室。要做到这一点,他需要到达某个钥匙所在的点,拿起钥匙,然后去办公室。一
旦钥匙被某人拿走,其他人就不能拿走。
你要确定所有n个人带着钥匙去办公室所需的最短时间。假设人们每 1 秒移动一个单位距离。如果两个人同时拿到钥匙,
则只有一个人可以拿钥匙。一个人可以通过钥匙所在的一个点而不拿它。
输入格式
第一行包含三个整数 n、k 和 p (1≤n≤1000, n≤k≤2000, 1≤p≤10
9
) - 人数、钥匙数量和办公地点。
第二行包含 n 个不同的整数 a1,a2,...,an (1≤ai≤10
9
) - 人们最初所在的位置。位置按任意顺序给出。
第三行包含 k 个不同的整数 b1,b2,...,bk (1≤bj≤10
9
) − 钥匙的位置。位置按任意顺序给出。
请注意,同一点中不能有多个人多个密钥。人员和钥匙可以位于同一点。
输出格式
输出n个带着k把钥匙,到达办公室所需的最短时间(以秒为单位)。
Examples
Input
2 4 50 20 100 60 10 40 80
Output
50
Input
1 2 10 11 15 7
Output
7
在第一个例子中,位于第20点的人应该拿着位于第40点的钥匙去位于第50点的办公室。
他花了30秒。
位于100点的人可以拿着位于80点的钥匙去办公室。
他花了50秒。
因此,50秒后,每个人都带着钥匙进入办公室。
输入样例
复制
2 4 50 20 100 60 10 40 80
输出样例
复制
50
数据范围与提示
在第一个例子中,位于第20点的人应该拿着位于第40点的钥匙去位于第50点的办公室。
他花了30秒。
位于100点的人可以拿着位于80点的钥匙去办公室。
他花了50秒。
因此,50秒后,每个人都带着钥匙进入办公室。
分类标签
830A
1800
binary
search,
brute
force,
dp,
greedy,
sortings
思维