[SGU313]环形铁路

Grade Open Time Friday, 19 September 2014, 10:08 am
Discount 0.8 Time Discount Friday, 26 September 2014, 10:08 am
Allow late Yes Close Time Friday, 26 September 2014, 10:08 am
Input file circularrailway.in Output file circularrailway.out

【题目描述】

在一条环形铁路上有L个车站,从1到L编号。火车可以沿着两个方向运行,从一个站到相邻的站需要1分钟(也就是说,从1到2,或者从2到3,...,或者从L到1都需要1分钟)。

铁路上有n个员工的家和他们的n个办公室,所有家或办公室都紧挨着某个车站。你需要把家和办公室一一对应起来,使得总的旅行时间(即所有员工从家到办公室的用时之和)最少。

【输入格式】

输入文件的第一行有两个整数n,L(1<=n<=50000,2<=L<=10^9).

第二行是n个员工家的位置,第三行是n个办公室的位置。保证位置是一个在[1,L]间的整数。

同一车站旁可能有若干个家,办公室或者二者皆有。

【输出格式】

输出一行一个正整数,即最少的总旅行时间。

【样例输入】

输入样例1:

3 15

1 2 10

11 12 13


输入样例2:

4 12

2 5 8 11

6 9 12 3


【样例输出】

输出样例1:

9


输出样例2:

4

【提示】

这里和SGU上的原题输出格式有所不同。SGU原题要求输出方案。

【来源】

SGU313 Circular Railway