问题 M: 办公室钥匙

内存限制:128 MB 时间限制:1 S
题面:传统 评测方式:文本比较 上传者:
提交:43 通过:17

题目描述

   直线上有n个人和k把钥匙。每个人都想去位于生产线上的办公室。要做到这一点,他需要到达某个钥匙所在的点,拿起钥匙,然后去办公室。一
旦钥匙被某人拿走,其他人就不能拿走。
   你要确定所有n个人带着钥匙去办公室所需的最短时间。假设人们每 1 秒移动一个单位距离。如果两个人同时拿到钥匙,
则只有一个人可以拿钥匙。一个人可以通过钥匙所在的一个点而不拿它。 

输入格式

第一行包含三个整数 n、k 和 p (1≤n≤1000, n≤k≤2000, 1≤p≤109) - 人数、钥匙数量和办公地点。
第二行包含 n 个不同的整数 a1,a2,...,an (1≤ai≤109) - 人们最初所在的位置。位置按任意顺序给出。
第三行包含 k 个不同的整数 b1,b2,...,bk (1≤bj≤109) − 钥匙的位置。位置按任意顺序给出。
请注意,同一点中不能有多个人多个密钥。人员和钥匙可以位于同一点。

输出格式

输出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秒后,每个人都带着钥匙进入办公室。