AT_arc209_c [ARC209C] Adjusting a Rectangle

题目描述

给定正整数 $N$、$X$ 以及长度为 $N$ 的整数序列 $S = (S_1, S_2, \dots, S_N)$、$P = (P_1, P_2, \dots, P_N)$。其中每个 $P_i$ 的值为 $1$ 或 $-1$。 你会收到 $Q$ 个询问。每个询问给定整数 $l, r$,满足 $1 \leq l \leq r \leq N$,你需要进行如下的游戏: - 初始时,你的得分为 $0$,整数 $a, b$ 被初始化为 $a = 1, b = 1$。 - 对于 $i$ 从 $l$ 到 $r$,依次进行如下操作: - 如果 $i$ 是偶数,可以将 $a$ 的值替换为 $1$ 到 $X$ 间的任意整数;如果 $i$ 是奇数,可以将 $b$ 的值替换为 $1$ 到 $X$ 间的任意整数。 - 之后,如果 $ab \geq S_i$,则将 $P_i$ 加入到你的得分中。否则,得分不变。注意,$P_i$ 可能为负数。 对于每个询问,求游戏结束时你分数可能达到的最大值。

输入格式

输入将由标准输入给出,格式如下: > $N\ X\ Q$ > $S_1\ S_2\ \ldots\ S_N$ > $P_1\ P_2\ \ldots\ P_N$ > $\text{query}_1$ > $\text{query}_2$ > $\vdots$ > $\text{query}_Q$ 每个查询格式如下: > $l\ r$

输出格式

输出共 $Q$ 行。 第 $i$ 行输出第 $i$ 个查询下,游戏结束时你能达到的最大分数。

说明/提示

### 样例解释 1 对于第一个查询,通过如下方案,游戏结束时可以获得 $2$ 分: | $i$ | 操作 | $a$ | $b$ | 得分 | |-----|------------------------|-----|-----|------| | 5 | 替换 $b=4$ | 1 | 4 | 0 | | 6 | 替换 $a=2$ | 2 | 4 | 1 | | 7 | 替换 $b=3$ | 2 | 3 | 0 | | 8 | 替换 $a=4$ | 4 | 3 | 1 | | 9 | 替换 $b=4$ | 4 | 4 | 2 | 每一步: - 第 $5$ 步,$ab=4 < S_5(=5)$,得分不变。 - 第 $6$ 步,$ab=8 \geq S_6(=7)$,得分加 $P_6(=1)$。 - 第 $7$ 步,$ab=6 \geq S_7(=3)$,得分加 $P_7(=-1)$。 - 第 $8$ 步,$ab=12 \geq S_8(=9)$,得分加 $P_8(=1)$。 - 第 $9$ 步,$ab=16 \geq S_9(=16)$,得分加 $P_9(=1)$。 最终得分为 $2$,无法达到 $3$ 分或更高,因此输出 $2$。 ### 数据范围 - $1 \le N, X, Q \le 10^5$ - $1 \le S_i \le 10^5$ - $P_i = 1$ 或 $P_i = -1$ - 对于每个查询,$1 \le l \le r \le N$ - 所有输入均为整数。 由 ChatGPT 5 翻译