CF627B Factory Repairs
题目描述
一家工厂批量生产顶针。通常情况下,它每天最多可以生产 $a$ 个顶针。然而,由于部分设备出现故障,目前每天只能生产 $b$ 个顶针。工厂计划选择连续 $k$ 天进行维护和施工;在此期间无法生产顶针,但这 $k$ 天结束后,生产能力将恢复到每天 $a$ 个顶针。
最初没有任何待处理订单。工厂会收到形如 $d_i$、$a_i$ 的更新,表示第 $d_i$ 天新增了 $a_i$ 个订单。每个订单都要求恰好在指定的那一天生产一个顶针。对于同一天的订单,工厂可以选择批量完成任意数量的订单(也可以不做)。
随着订单不断到来,厂主想知道:如果在某一天 $p_i$ 开始进行维修,最多能完成多少订单?请帮助厂主解答这些问题。
输入格式
第一行包含五个整数 $n$、$k$、$a$、$b$、$q$($1 \leq k \leq n \leq 200000$,$1 \leq b < a \leq 10\,000$,$1 \leq q \leq 200000$),分别表示天数、检修时长、修复后生产上限、当前生产上限,以及操作次数。
接下来的 $q$ 行,每行一个操作,格式如下之一:
- $1\ d_i\ a_i$($1 \leq d_i \leq n$,$1 \leq a_i \leq 10\,000$),表示第 $d_i$ 天增加 $a_i$ 个订单;
- $2\ p_i$($1 \leq p_i \leq n-k+1$),表示询问:如果现在从第 $p_i$ 天起开始为期 $k$ 天的维修,最多可以完成多少订单?
保证输入中至少有一个第二种操作。
输出格式
对于每个第二种类型的询问,输出一行一个整数,表示所有 $n$ 天内最多可以完成的订单数。
说明/提示
请参见第一个样例。
当前每天最多可生产 $1$ 个顶针,检修后可以生产 $2$ 个顶针。检修需持续 $2$ 天。
针对第一个询问:第一天可完成 $1$ 个订单,第 $2$、$3$ 天检修,无法生产,第 $4$ 天没有订单可完成,第 $5$ 天因订单只有 $2$ 个但产能充足,所以仅完成 $2$ 个订单,总共完成 $3$ 个订单。
对于第三个询问:第 $1$ 天完成 $1$ 个订单,第 $2$ 天完成 $1$ 个订单,第 $5$ 天完成 $2$ 个订单,总共完成 $4$ 个订单。
由 ChatGPT 5 翻译