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 翻译