#THU2024003. [清华考研机试 2024] 指针

    ID: 26 Type: Default 1000ms 512MiB Tried: 12 Accepted: 1 Difficulty: 9 Uploaded By: Tags>知识点:NOI实现:中等动态规划状态压缩DP搜索搜索与剪枝图结构费用流其他分治清华推研时间2024

[清华考研机试 2024] 指针

时间限制: 1.0 秒

空间限制: 512 MB

题目描述

10910^9 台设备分布在一条数轴上,第 ii 台设备的坐标为 ii。有 nn 位维修工,初始时第 ii 位维修工的位置为 aia_i

这些设备共发生了 mm 次故障,第 jj 次故障的设备为 bjb_j,你需要指定一名维修工维修设备 bjb_j,他将从他当前所在的位置移动到位置 bjb_j。维修工从位置 xx 移动到位置 yy 需要花费 xy|x-y| 的代价。

你需要合理调配维修工,在每次故障发生后及时完成维修,即必须依次完成 mm 次维修。求所有维修的代价总和的最小值。

输入格式

从标准输入读入数据。

输入的第一行包含两个正整数 n,mn,m,分别表示维修工个数和故障次数。

输入的第二行包含 nn 个正整数 a1,a2,...,ana_1,a_2,...,a_n,分别表示每个维修工的初始位置。

输入的第三行包含 mm 个正整数 b1,b2,...,bmb_1,b_2,...,b_m,分别表示每次故障的设备。

输出格式

输出到标准输出。

输出一行一个非负整数表示代价总和的最小值。

2 5
3 6
4 8 1 5 7
11

样例 1 解释

  • 11 次维修,维修工 11 移动到位置 44,代价为 34=1|3-4|=1
  • 22 次维修,维修工 22 移动到位置 88,代价为 68=2|6-8|=2
  • 33 次维修,维修工 11 移动到位置 11,代价为 41=3|4-1|=3
  • 44 次维修,维修工 11 移动到位置 55,代价为 15=4|1-5|=4
  • 55 次维修,维修工 22 移动到位置 77,代价为 87=1|8-7|=1

代价总和为 1+2+3+4+1=111+2+3+4+1=11

子任务

对于所有测试数据,满足 1n,m600, 1ai,bj1091\le n,m\le 600,~ 1\le a_i,b_j\le 10^9

子任务编号 分值 nn\le mm \le ai,bja_i,b_j\le
1 10 1010 66 10510^5
2 22 600600
3 33
4 55 100100 1010
5 25 200200 10510^5
6 35 600600 10910^9