P12279 [蓝桥杯 2024 国 Python A] 限流器

题目描述

小蓝最近为自己的服务开发了一套 OpenAPI,为了防止接口被恶意盗刷,他需要搭建一套分布式限流组件。 简而言之,我们想要限制在时间区间 $[k \cdot N, (k + 1) \cdot N) (k = 0, 1, 2, \cdots)$ 中,接口最多只允许成功访问 $M$ 次,对于超出限制的访问则返回异常状态表示请求失败。 现在给出某个客户端对 API 请求的时间戳,请你统计下其中有多少次的请求是成功的。

输入格式

输入的第一行包含三个整数 $N, M, L$,相邻整数之间使用一个空格分隔。 第二行包含 $L$ 个整数 $t_1, t_2, \cdots, t_L$,相邻整数之间使用一个空格分隔,表示 $L$ 次 API 访问的时间戳。

输出格式

输出一行包含一个整数表示 API 请求成功的次数。

说明/提示

### 样例说明 $[0,60)$ 内访问了 $6$ 次,有 $1$ 次会访问失败,$5$ 次访问成功;$[60,120)$ 内访问了 $4$ 次,均成功;总计成功访问 $5+4=9$ 次。 ### 评测用例规模与约定 对于所有评测用例,$1 \leq N, M, L \leq 1000$,$0 \leq t_i \leq 1000$。