CF878B Teams Formation
题目描述
这一次,伯兰市团队信息学奥林匹克在一个只能乘坐一辆小巴到达的偏远城市举行。小巴有 $n$ 个乘客座位,第 $i$ 个座位只允许来自城市 $a_i$ 的参赛者坐。
今天,小巴完成了 $m$ 趟运送,每次都带来了 $n$ 位参赛者。参赛者们按照他们到达的顺序排成一队,同一辆巴士上的人依照座位顺序排列(即如果写下参赛者们来自的城市编号,会得到 $a_1, a_2, ..., a_n$ 的序列重复 $m$ 次)。
接下来,会组成若干支队伍,每支队伍由 $k$ 个来自同一城市、在队伍中相邻的参赛者组成。每当组成了一支队伍,这支队伍就会离开队伍。只要队伍中还有任意 $k$ 个来自同一城市并且相邻的参赛者,还会继续组成队伍。
请帮助组织者确定在这一过程中结束后,队伍中还剩下多少名参赛者。可以证明答案与每次选取队伍的顺序无关。
输入格式
第一行包含三个整数 $n, k$ 和 $m$($1 \leq n \leq 10^5$,$2 \leq k \leq 10^9$,$1 \leq m \leq 10^9$)。
第二行包含 $n$ 个整数 $a_1, a_2, ..., a_n$($1 \leq a_i \leq 10^5$),其中 $a_i$ 表示第 $i$ 个座位必须由来自 $a_i$ 城市的人占据。
输出格式
输出最终队伍中剩余参赛者的人数。
说明/提示
在第二个样例中,队伍由来自同一城市的 10 个参赛者组成。他们中有 9 个人会组成一支队伍离开,最后只剩下 1 名参赛者留在队伍中。
由 ChatGPT 5 翻译