AT_joi2021_yo2_c イベント巡り (Event Hopping)

题目描述

某地有两个镇。为简便,分别称其为 $1$ 镇和 $2$ 镇。 在一段时间内,这两个镇共举行了 $N$ 次活动。第 $i$ 次活动在 $P_i$ 镇举行,时间从 $(S_i+0,1)$ 持续到到 $(S_i+0.9)$。若想参与第 $i$ 次活动,需要在这段时间内在 $P_i$ 镇。 你从 $0$ 时刻开始在这两个城市之间移动。你可以选择你开始时所在的镇。在两个城镇之间移动所需的时间为 $(D+K\times j)$,其中 $j$ 是你之前所参加的活动数。 请求出你最多能参加多少次活动。

输入格式

第一行输入三个整数 $N,D,K$。 随后输入 $N$ 行,第二行输入两个整数 $P_i$ 和 $S_i$。

输出格式

一行一个整数,最多可参加的活动数。

说明/提示

样例解释请到 AtCoder 查看。 #### 数据规模与约定 对于 $100\%$ 的数据,满足: - $1\le N\le 200000$; - $1\le D,S_i\le 10^{12}$,当 $1\le i\lt j\le N$ 时 $S_i\neq S_j$; - $0\le K\le 10^{12}$; - $P_i\in \{1,2\}$; - 输入的所有值都为整数。 **本题有部分分。** 各子任务分值及特殊限制见下: - Subtask 0:为样例,$0$ 分。 - Subtask 1:$K=0$,$N\le 20$,$8$ 分。 - Subtask 2:$K=0$,$N\le 4000$,$11$ 分。 - Subtask 3:$K=0$,$24$ 分。 - Subtask 4:$N\le 160$,$12$ 分。 - Subtask 5:$N\le 4000$,$23$ 分。 - Subtask 6:无特殊限制,$22$ 分。