AT_arc120_f2 [ARC120F2] Wine Thief
题目描述
**问题 F 和问题 F2 是相同的问题,但约束条件和运行时间限制不同。**
高桥君的仓库里有 $N$ 瓶葡萄酒,按左右方向排成一列。从左边数第 $i$ 瓶葡萄酒的美味度为 $A_i$。
青木君现在要从这 $N$ 瓶葡萄酒中,恰好选出 $K$ 瓶进行偷窃。但是,高桥君非常警觉,如果满足以下条件,他就会发现被偷了:
- 存在连续排列的 $D$ 瓶葡萄酒,其中被偷走的有 $2$ 瓶或以上。
请你求出所有不会被高桥君发现的偷窃方案中,偷走的葡萄酒美味度之和的总和。
由于答案可能非常大,请输出其对 $998244353$ 取模的结果。
输入格式
输入以如下格式从标准输入给出:
> $N$ $K$ $D$ $A_1$ $A_2$ $A_3$ $\dots$ $A_N$
输出格式
输出答案对 $998244353$ 取模的结果。
说明/提示
## 约束条件
- $2 \leq D \leq N \leq 10^6$
- $1 \leq K \leq \left\lceil \frac{N}{D} \right\rceil$($\left\lceil x \right\rceil$ 表示不小于 $x$ 的最小整数)
- $1 \leq A_i < 998244353$
- 输入中的所有值均为整数
## 样例解释 1
偷窃方案及其美味度之和如下:
- 偷第 $1$ 瓶和第 $3$ 瓶:美味度之和为 $1 + 2 = 3$
- 偷第 $1$ 瓶和第 $4$ 瓶:美味度之和为 $1 + 3 = 4$
- 偷第 $2$ 瓶和第 $4$ 瓶:美味度之和为 $4 + 3 = 7$
因此答案为 $3 + 4 + 7 = 14$。
## 样例解释 2
偷窃方案及其美味度之和如下:
- 偷第 $1$ 瓶和第 $4$ 瓶:美味度之和为 $1 + 7 = 8$
- 偷第 $1$ 瓶和第 $5$ 瓶:美味度之和为 $1 + 3 = 4$
- 偷第 $2$ 瓶和第 $5$ 瓶:美味度之和为 $5 + 3 = 8$
由 ChatGPT 4.1 翻译