P14332 [JOI2021 预选赛 R2] 活动巡游 / Event Hopping

题目描述

IOI 国内有 2 个城镇,分别编号为 1 和 2。 在这些城镇中,总共将举办 $ N $ 个活动。这些活动分别编号为 1 到 $ N $。活动 $ i $($ 1 \le i \le N $)在城镇 $ P_i $ 举办,举办时间为从时刻 $ S_i + 0.1 $ 到时刻 $ S_i + 0.9 $。其中,$ S_i $ 为整数。JOI 君若要参加活动 $ i $,则必须在时间段 $ S_i + 0.1 $ 至 $ S_i + 0.9 $ 内始终位于城镇 $ P_i $。 JOI 君决定进行一次活动巡游。在巡游过程中,他可以参加若干个活动,必要时也可在城镇之间移动。JOI 君从时刻 0 开始活动巡游,且可以从任意一个他喜欢的城镇出发。 JOI 君可以在城镇 1 与城镇 2 之间双向移动。从一个城镇移动到另一个城镇所需的时间为:设 JOI 君在开始移动前已参加的活动数量为 $ j $,则移动耗时为 $ D + K \times j $。 给定活动与城镇之间移动的相关信息,请编写程序,求出 JOI 君最多能参加的活动数量。

输入格式

输入通过标准输入以如下格式给出: $ N $ $ D $ $ K $ $ P_1 $ $ S_1 $ $ P_2 $ $ S_2 $ $ \vdots $ $ P_N $ $ S_N $

输出格式

在标准输出中,输出一行,表示 JOI 君最多能参加的活动数量。

说明/提示

### 样例 1 解释 例如,JOI 君可以通过以下方式行动,参加 4 个活动: 1. 在时刻 0,JOI 君位于城镇 1。 2. 从时刻 1.1 到时刻 1.9,在城镇 1 参加活动 1。 3. 从时刻 2.1 到时刻 2.9,在城镇 1 参加活动 2。 4. 从时刻 3 到时刻 6,花费时间 $ 3 = D + K \times 2 $,从城镇 1 移动到城镇 2。 5. 从时刻 6.1 到时刻 6.9,在城镇 2 参加活动 5。 6. 从时刻 7 到时刻 10,花费时间 $ 3 = D + K \times 3 $,从城镇 2 移动到城镇 1。 7. 从时刻 10.1 到时刻 10.9,在城镇 1 参加活动 3。 无论采取何种行动,都无法参加 5 个或以上的活动,因此输出 4。 ### 样例 2 解释 例如,JOI 君可以通过以下方式行动,参加 6 个活动: 1. 在时刻 0,JOI 君位于城镇 2。 2. 从时刻 2.1 到时刻 2.9,在城镇 2 参加活动 1。 3. 从时刻 3 到时刻 8,花费时间 $ 5 = D + K \times 1 $,从城镇 2 移动到城镇 1。 4. 从时刻 8.1 到时刻 8.9,在城镇 1 参加活动 2。 5. 从时刻 11.1 到时刻 11.9,在城镇 1 参加活动 4。 6. 从时刻 12 到时刻 23,花费时间 $ 11 = D + K \times 3 $,从城镇 1 移动到城镇 2。 7. 从时刻 23.1 到时刻 23.9,在城镇 2 参加活动 5。 8. 从时刻 24.1 到时刻 24.9,在城镇 2 参加活动 6。 9. 从时刻 25.1 到时刻 25.9,在城镇 2 参加活动 7。 无论采取何种行动,都无法参加 7 个或以上的活动,因此输出 6。 ### 数据范围 - $ 1 \le N \le 200\,000 $。 - $ 1 \le D \le 10^{12} $。 - $ 0 \le K \le 10^{12} $。 - $ 1 \le P_i \le 2 $($ 1 \le i \le N $)。 - $ 1 \le S_i \le 10^{12} $($ 1 \le i \le N $)。 - $ S_i \ne S_j $($ 1 \le i < j \le N $)。 - 所有输入值均为整数。 ### 子任务 1. (8 分)$ K = 0 $,$ N \le 20 $。 2. (11 分)$ K = 0 $,$ N \le 4\,000 $。 3. (24 分)$ K = 0 $。 4. (12 分)$ N \le 160 $。 5. (23 分)$ N \le 4\,000 $。 6. (22 分)无额外约束。 翻译由 Qwen3-235B 完成