时间限制: 1.0 秒
空间限制: 512 MB
题目描述
有 109 台设备分布在一条数轴上,第 i 台设备的坐标为 i。有 n 位维修工,初始时第 i 位维修工的位置为 ai。
这些设备共发生了 m 次故障,第 j 次故障的设备为 bj,你需要指定一名维修工维修设备 bj,他将从他当前所在的位置移动到位置 bj。维修工从位置 x 移动到位置 y 需要花费 ∣x−y∣ 的代价。
你需要合理调配维修工,在每次故障发生后及时完成维修,即必须依次完成 m 次维修。求所有维修的代价总和的最小值。
输入格式
从标准输入读入数据。
输入的第一行包含两个正整数 n,m,分别表示维修工个数和故障次数。
输入的第二行包含 n 个正整数 a1,a2,⋯,an,分别表示每个维修工的初始位置。
输入的第三行包含 m 个正整数 b1,b2,⋯,bm,分别表示每次故障的设备。
输出格式
输出到标准输出。
输出一行一个非负整数表示代价总和的最小值。
2 5
3 6
4 8 1 5 7
11
样例 1 解释
- 第 1 次维修,维修工 1 移动到位置 4,代价为 ∣3−4∣=1;
- 第 2 次维修,维修工 2 移动到位置 8,代价为 ∣6−8∣=2;
- 第 3 次维修,维修工 1 移动到位置 1,代价为 ∣4−1∣=3;
- 第 4 次维修,维修工 1 移动到位置 5,代价为 ∣1−5∣=4;
- 第 5 次维修,维修工 2 移动到位置 7,代价为 ∣8−7∣=1;
代价总和为 1+2+3+4+1=11。
子任务
对于所有测试数据,满足 1≤n,m≤600, 1≤ai,bj≤109。
| 子任务编号 |
分值 |
n≤ |
m≤ |
ai,bj≤ |
| 1 |
10 |
10 |
6 |
105 |
| 2 |
2 |
600 |
| 3 |
3 |
| 4 |
5 |
100 |
10 |
| 5 |
25 |
200 |
105 |
| 6 |
35 |
600 |
109 |