#P12509. 「OOI 2024 Day 1」更多不同种类的好礼物

「OOI 2024 Day 1」更多不同种类的好礼物

题目描述

封闭编程奥林匹克竞赛的组织者决定为参赛者准备礼物。他们订购了 kk 个相同的礼物盒,每个盒子内有一叠 nn 个礼物。每个盒子顶部的礼物类型为 a1a_1,其下为类型 a2a_2,以此类推,最底部的礼物类型为 ana_n

礼物分发将按照以下方式进行:首先从第一个盒子中自上而下分发礼物。当第一个盒子中的礼物分发完毕后,开始从第二个盒子自上而下分发礼物,依此类推,最后从第 kk 个盒子分发礼物。

可以一次性分发多个礼物给一名参赛者,因此礼物将首先分发给第一名参赛者,然后是第二名参赛者,以此类推。已知如果一名参赛者获得的礼物类型超过 tt 种,他们会过于高兴,从而影响奥林匹克竞赛的表现。为了确保参赛者在比赛中表现出色,决定每名参赛者获得的礼物类型不超过 tt 种(但可以获得多个相同类型的礼物)。

封闭式奥林匹克竞赛的组织者希望使比赛尽可能独家化,邀请尽可能少的参赛者。帮助组织者确定最少需要邀请多少名参赛者,以便分发所有礼物,并且每名参赛者获得的礼物类型不超过 tt 种。

输入格式

第一行包含三个整数 n,k,tn, k, t (1n300000,1k,t109)(1 \leq n \leq 300000, 1 \leq k, t \leq 10^{9}),分别表示每个盒子中的礼物数量、盒子数量和每名参赛者最多可获得的礼物类型数量。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n (1ai109)(1 \leq a_i \leq 10^{9}),表示礼物类型,从盒子顶部到底部的顺序。

输出格式

输出一个整数,即最少需要的参赛者数量,使得所有礼物都能被分发,且每名参赛者获得的礼物类型不超过 tt 种。

2 4 1
1 2

8

4 3 1
1 1 2 1

7

7 2 3
1 2 3 4 5 6 7

5

数据范围与提示

详细子任务附加限制及分值如下表所示。其中子任务 00 是样例。

子任务 分值 附加限制 子任务依赖 备注
11 1414 n100n \leq 100k10k \leq 10 00
22 1212 t=1t = 1
33 1616 n1000n \leq 1000k1000k \leq 1000 0,10, 1
44 2121 n1500n \leq 1500k106k \leq 10^{6} 0,1,30, 1, 3
55 1818 k106k \leq 10^{6} 0,1,3,40, 1, 3, 4
66 1919 050 \sim 5