U416838 指针
题目背景
**时间限制:** 1.0 秒
**空间限制:** 512 MB
题目描述
有 $10^9$ 台设备分布在一条数轴上,第 $i$ 台设备的坐标为 $i$。有 $n$ 位维修工,初始时第 $i$ 位维修工的位置为 $a_i$。
这些设备共发生了 $m$ 次故障,第 $j$ 次故障的设备为 $b_j$,你需要指定一名维修工维修设备 $b_j$,他将从他当前所在的位置移动到位置 $b_j$。维修工从位置 $x$ 移动到位置 $y$ 需要花费 $|x-y|$ 的代价。
你需要合理调配维修工,在每次故障发生后及时完成维修,即必须**依次**完成 $m$ 次维修。求所有维修的代价总和的最小值。
输入格式
从标准输入读入数据。
输入的第一行包含两个正整数 $n,m$,分别表示维修工个数和故障次数。
输入的第二行包含 $n$ 个正整数 $a_1,a_2,...,a_n$,分别表示每个维修工的初始位置。
输入的第三行包含 $m$ 个正整数 $b_1,b_2,...,b_m$,分别表示每次故障的设备。
输出格式
输出到标准输出。
输出一行一个非负整数表示代价总和的最小值。
说明/提示
### 样例 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\le n,m\le 600,~ 1\le a_i,b_j\le 10^9$。
| 子任务编号 | 分值 | $n\le$ | $m \le$ | $a_i,b_j\le$ |
| :----: | :-----: | :-----: |:-----: |:-----: |
| 1 |10 | $10$ | $6$ |$10^5$ |
| 2 |10 | $2$ | $600$ | $10^5$ |
| 3 |10 | $3$ | $600$ | $10^5$ |
| 4 |10 | $5$ | $100$ | $10$ |
| 5 |25 | $200$ | $200$ |$10^5$ |
| 6 |35 | $600$ | $600$ |$10^9$ |