AT_arc072_c [ARC072E] Alice in linear land

题目描述

Alice 住在数轴上。今天她打算乘坐一种神奇的交通工具前往目的地。起初,Alice 距离目的地 $D$ 的位置。每当 Alice 在交通工具上输入一个数 $x$,如果从当前位置朝向目的地前进 $x$ 后比当前位置更接近目的地,她就会移动,否则就不移动。需要注意的是,当距离目的地小于 $x$ 时,向前前进 $x$ 会经过目的地。此外,若经过了目的地,其前进方向也会发生改变,且这个方向可能会多次变化。 Alice 只会向交通工具输入 $N$ 次数字,第 $i$ 次输入的数字计划为 $d_i$。她提前写好将要输入的数字列表,并按顺序逐一输入。 然而,一个爱恶作剧的魔法师出现了,他想通过将列表中的一个数字更改为另一个正整数,来让 Alice 经过 $N$ 次移动后无法到达目的地。 魔法师为了实施恶作剧,考虑了以下 $Q$ 个计划。 - 计划只更改第 $q_i$ 次输入的数字为某个正整数,来使 Alice 无法到达目的地。 请编写程序,判断每一个计划是否可行。

输入格式

输入以如下格式从标准输入读入。 > $N\ D\ d_1\ d_2\ \ldots\ d_N\ Q\ q_1\ q_2\ \ldots\ q_Q$

输出格式

对每一个计划,如果该计划可行,则在第 $i$ 行输出 `YES`,否则输出 `NO`。

说明/提示

## 限制条件 - $1 \leq N \leq 5 \times 10^5$ - $1 \leq Q \leq 5 \times 10^5$ - $1 \leq D \leq 10^9$ - $1 \leq d_i \leq 10^9\ (1 \leq i \leq N)$ - $1 \leq q_i \leq N\ (1 \leq i \leq Q)$ - $d_i, D$ 均为整数。 ## 样例解释 1 前 $3$ 次输入后,Alice 已经到达了目的地,因此第 $1$ 个计划的答案是 `NO`。例如,将第 $3$ 次输入更改为 $5$ 时,Alice 的行动如下,此时 Alice 无法到达目的地,因此第 $2$ 个计划的答案为 `YES`。 ![](https://atcoder.jp/img/arc072/f6a4307ef86847bc8fa68d0952f7127c.png) ## 样例解释 2 即使按原计划输入,Alice 也无法到达目的地,因此所有计划均为可行。 由 ChatGPT 5 翻译