[R54D]取模加和交换
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
时空限制
1S/512M
题目描述
给你两个长度为 的序列 和 以及一个正整数 ,保证 中所有元素都在 到 之间(包括边界),你可以对 进行任意多次操作(可能为 次),每次操作你可以选择下面 种类型中的任意一种:
- 选择两个整数 满足 ,交换 和 ,该类型的操作代价为 。
- 选择一个整数 满足 ,使得 。具体地说,如果 ,则让 ,否则让 ,该类型的操作代价为 。
你需要求出通过执行上述操作,使得操作后序列 变得与序列 相同的总操作代价的最小值,请你输出这个值。
可以证明,一定存在一种操作方案能使得 变得与 相同。
格式
输入格式
第一行包含两个整数 ,分别表示序列长度和操作的模数。
接下来一行包含 个整数 ,表示序列 。
接下来一行包含 个整数 ,表示序列 。
输出格式
输出一行一个整数,表示通过执行上述操作,使得操作后序列 变得与序列 相同的总操作代价的最小值。
样例
样例输入 #1
3 5
4 3 1
1 0 2
样例输出 #1
5
样例解释 #1
下面是一种可行的操作方案:
执行类型 的操作,选择 ,操作后 变为 ,代价为 。
执行类型 的操作,选择 ,操作后 变为 ,代价为 。
执行类型 的操作,选择 ,操作后 变为 ,代价为 。
执行类型 的操作,选择 ,操作后 变为 ,代价为 。
执行类型 的操作,选择 ,操作后 变为 ,代价为 。
执行类型 的操作,选择 ,操作后 变为 ,代价为 。
该操作方案的总代价为 ,可以证明不存在总代价更小的操作方案。
样例输入 #2
5 7
1 5 3 2 5
4 4 6 1 6
样例输出 #2
5
数据规模
注意:你只有通过了子任务的所有测试点,才能获得对应子任务的分数。
| 子任务编号 | 分数 | ||
|---|---|---|---|
对于 的数据:,,。
代码源挑战赛 Round 54
- Status
- Done
- Rule
- DMY
- Start at
- 2026-3-27 20:00
- End at
- 2026-3-27 21:30
- Duration
- 1.5 hour(s)
- Host
- Partic.
- 455