P10647 [NordicOI 2023] Ice Cream Machines
题目背景
翻译自 [NordicOI 2023 B 题](https://noi23.kattis.com/contests/noi23/problems/icecreammachines) Ice Cream Machines。
题目描述
在你的冰淇淋店里有 $n$ 个顾客在排队,店里一共有 $m$ 种口味,每个人都有想买的口味,但是很不幸,店内只有 $k$ 台机子,无法完全供应所有的口味,所以,如果下一个人要的和这台机子内原有的口味不同时,他需要清洗这台机子并更换成他喜欢的口味。
现在这 $n$ 个人按照从 $1 \sim n$ 的顺序买冰淇淋,你作为一个聪明绝顶的店主需要合理安排他们使用哪台机子,使得清洗机子的次数最少,输出这个最少次数。
注意一台机子如果之前没人用的时候默认需要被清洗(自始至终没人用则不需要)。
输入格式
第一行三个整数 $n (1 \leq n \leq 2 \times 10^5)$,$m (1 \leq m \leq 2 \times 10^5)$ 和 $k (1 \leq k \leq 2 \times 10^5)$,分别表示一共有 $n$ 个人,店里有 $m$ 种口味的冰淇淋和 $k$ 台机子。
然后 $n$ 行,每行一个整数 $c_i (1 \leq c_i \leq m)$,表示第 $i$ 个人喜欢吃的口味编号。
输出格式
输出清洗次数最少时所需的次数。
说明/提示
**本题采用捆绑测试**。
- Subtask 1(7 points):$n \le 1000$,$m \leq 10$,$k = 1$。
- Subtask 2(12 points):$n \le 1000$,$m \leq 10$,$k \leq 2$。
- Subtask 3(22 points):$n \leq 1000$,$m \leq 10$,$k \leq 5$。
- Subtask 4(11 points):$n \leq 1000$,$m \leq 200$,$k \leq 100$。
- Subtask 5(14 points):$n \leq 2 \times 10^5$,$m \leq 500$,$k \leq 100$。
- Subtask 6(13 points):$n \leq 2 \times 10^5$,$m \leq 2 \times 10^5$,$k \leq 100$。
- Subtask 7(21 points):无特殊限制。
对于所有测试数据,$1 \le n \le 2\times 10^5$,$1 \leq m \leq 2 \times 10^5$,$1 \leq k \leq 2 \times 10^5$,$1 \leq c_i \leq m$。