编程题
### 问题描述 在一个名为「健康步行」的活动中,参与者需要在一个闭环的跑道内进行步行锻炼。每位参与者都有一个步速(每秒走多少米)。但由于某些参与者的步速比其他人快,因此可能会超过其他参与者。为了统计在特定时间内哪些参与者超过了其他参与者,组织者需要你的帮助。 现在,给你一个数组 $speeds$,表示每位参与者的步速。假设所有参与者同时从同一起点开始想同一方向步行,当任意两名参与者的位置相同时,我们就认为步速较快的参与者超过了步速较慢的参与者。你的任务是计算在 $t$ 秒后,有多少对参与者中,前者超过了后者。 我们认为:如果 $A$ 从 $B$ 的后方步行到与 $B$ 平齐或其前方,则视为一次超越。 请注意,跑道是一个闭环,所以走到终点的参与者会从起点重新开始。 ### 输入格式 输入的第一行包含三个整数 $n$,$t$ 和 $x$。其中 $n$ 是参与者的数量;$t$ 是规定的时间秒数,即在 $t$ 秒后统计超越情况;$x$ 表示跑道一圈的长度。 输入的第二行包含 $n$ 个整数,表示每位参与者的步速。 ### 输出格式 输出一个整数,表示在 $t$ 秒内,超越发生的次数。 ### 样例输入 ``` 5 10 40 1 2 3 4 5 ``` ### 样例输出 ``` 1 ``` ### 测评数据规模 对于 $40$% 的数据,$1 \leq n,t \leq 100$。 对于 $80$% 的数据,$1 \leq n,t \leq 10^3$。 对于 $100$% 的数据,$1 \leq n,t \leq 10^4$,$1 \leq speeds[i] \leq 100$,$2\le x \le 100$。
查看答案
赣ICP备20007335号-2