CF1089L Lazyland

题目描述

Lazyland 王国居住着 $n$ 个懒汉。这些懒汉极其懒惰,给他们的统治者——强大的 Lazyland 国王带来了许多麻烦。 今天,王国有 $k$ 项重要工作需要完成($k \le n$)。每项工作需要由一个人完成,每个人最多只能做一项工作。国王允许每个懒汉选择他们想做的一项工作,第 $i$ 个懒汉选择了第 $a_i$ 项工作。 不幸的是,可能有些工作没有被任何人选择,因此国王必须说服一些懒汉去选择其他工作。国王知道说服第 $i$ 个懒汉需要 $b_i$ 分钟。他让劳工大臣计算,为了让所有工作都有人完成,最少需要花费多少时间来说服懒汉。你能帮他吗?

输入格式

输入的第一行包含两个整数 $n$ 和 $k$($1 \le k \le n \le 10^5$),分别表示懒汉的数量和工作的数量。 第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \le a_i \le k$),表示每个懒汉选择的工作编号。 第三行包含 $n$ 个整数 $b_1, b_2, \ldots, b_n$($1 \le b_i \le 10^9$),表示国王说服第 $i$ 个懒汉所需的时间。

输出格式

输出仅一行,表示国王为了让所有工作都有人完成,最少需要花费的总时间。

说明/提示

在第一个样例中,最优方案是说服第 1、6、8 个懒汉去做第 2、4、6 项工作。 在第二个样例中,每项工作都被某个懒汉选择,因此无需说服任何人。 由 ChatGPT 4.1 翻译