AT_awc0003_d 連続練習日数
题目描述
高桥是田径社的经理,负责管理社员们的训练记录。
田径社有一个为期 $N$ 天的训练周期,每一天按从 $1$ 到 $N$ 编号。在第 $i$ 天 $(1 \leq i \leq N)$,会记录一个正整数 $A_i$,表示当天的“训练强度”。
根据社团的规定,从第 $l$ 天到第 $r$ 天的连续 $r-l+1$ 天被称为一个“达成期”。如果这一时期的天数不少于 $K$ 天,并且该时期内的训练强度总和不低于目标值 $M$,则该达成期会被特别认可。
高桥想知道,有多少个“达成期”符合被认可的条件。
具体地,求出有多少对整数 $(l,r)$ 满足以下条件:
- $1 \leq l \leq r \leq N$
- $r - l + 1 \geq K$ (区间长度不少于 $K$ 天)
- $A_l + A_{l+1} + \cdots + A_r \geq M$(区间内训练强度总和不少于 $M$)
输入格式
第一行包含三个整数 $N$ 表示训练周期天数,$K$ 表示区间的最短天数,$M$ 表示区间训练强度目标值,三者之间用空格隔开。
第二行包含 $N$ 个整数 $A_1, A_2, \ldots, A_N$,用空格隔开,分别表示每一天的训练强度。
输出格式
输出一个整数,表示满足上述条件的 $(l, r)$ 对数。
说明/提示
### 数据范围
- $1 \leq N \leq 2 \times 10^5$
- $1 \leq K \leq N$
- $1 \leq M \leq 10^{14}$
- $1 \leq A_i \leq 10^9$ ($1 \leq i \leq N$)
- 所有输入均为整数。
由 ChatGPT 5 翻译