AT_abc461_c [ABC461C] Variety
题目描述
有 $N$ 颗宝石,第 $i$ 颗宝石的颜色(用整数表示)为 $C_i$,价值为 $V_i$。
请从这 $N$ 颗宝石中选择 $K$ 颗宝石,选出的宝石必须包含至少 $M$ 种不同的颜色。
求所选宝石的价值总和的最大值。(保证在给定的输入中总可以做出这样的选择。)
输入格式
输入从标准输入读入,格式如下:
> $N\ K\ M$
> $C_1\ V_1$
> $C_2\ V_2$
> $\vdots$
> $C_N\ V_N$
输出格式
输出所能取得的最大价值总和。
说明/提示
### 样例解释 1
在此样例中,从五颗宝石中选三颗,要求至少包含两种不同的颜色。
选择第 $2,3,5$ 颗宝石,颜色分别为 $1,1,3$,共两种颜色。它们的总价值为 $40 + 50 + 20 = 110$,这是可能取得的最大值。
### 样例解释 2
宝石和选择数量与样例输入 1 相同,但要求至少包含三种不同颜色。
选择第 $3,4,5$ 颗宝石,颜色分别为 $1,2,3$,共三种颜色。它们的总价值为 $50 + 10 + 20 = 80$,这是可能取得的最大值。
### 样例解释 3
注意防止溢出。
### 数据范围
- $1 \leq M \leq K \leq N \leq 2 \times 10^5$
- $1 \leq C_i \leq N$
- $1 \leq V_i \leq 10^9$
- 至少存在 $M$ 种不同颜色的宝石。
- 所有输入均为整数。
由 ChatGPT 5 翻译