CF2038J Waiting for...

题目描述

Monocarp 正在车站等公共汽车。不幸的是,也有很多人想乘坐公共汽车。 你会得到两类事件的列表: - B $b_i$ :有 $b_i$ 个免费座位的巴士到达车站; - P $p_i$ : $p_i$ 人到站。 这些事件是按时间顺序列出的。 当公共汽车到达时,会发生以下情况。公车站的所有人(除了 Monocarp )都试图上车。如果所有人都有足够的空位,他们就都上车。否则,有些人会留在公交车站(上车的人数等于免费座位的数量)。 如果在所有人(除了 Monocarp )进入公共汽车后仍然至少有一个空闲座位,那么 Monocarp 可以决定也进入这辆公共汽车(但他可能选择等待另一辆公共汽车)。对于每一辆公共汽车,您必须确定 Monocarp 是否有可能乘坐该公共汽车。

输入格式

第一行包含一个整数 $n (1 \le n \le 10^3)$ —事件的数量。 然后是 $n$ 行。其中第 $i$ 行为以下两种格式之一: - B $b_i ( 1 \le b_i \le 10^6 )$ -一辆有 $b_i$ 免费座位的巴士到达车站; - P $p_i ( 1 \le p_i \le 10^6 )$ - $p_i$ 人到站。 输入的附加约束:至少有一个B类型的事件。

输出格式

对于类型B的每个事件,如果 Monocarp 可以乘坐该辆车,则输出 `YES`,否则输出 `NO` (不区分大小写)。