QOJ.ac

QOJ

実行時間制限: 1.5 s メモリ制限: 256 MB 満点: 100

#5264. 超车

統計

Bajtazar 正驾驶着他的新跑车前往海边。他行驶在高速公路上,作为一名合格的司机,他行驶在右侧车道。然而,在他前方的右侧车道上还有 $n$ 辆卡车,他必须超车。

我们将卡车从 $1$ 到 $n$ 编号,从最靠近 Bajtazar 汽车的那辆开始;第 $i$ 辆卡车以速度 $v_i$ 行驶,长度为 $d_i$,初始时刻位于 Bajtazar 汽车前方 $x_i$ 处。为简化起见,我们将车辆视为没有边缘的矩形,并以其前端作为位置坐标。

如果由于速度差异,第 $i$ 辆卡车的前端追上了其前方卡车(即第 $i+1$ 辆)的后端,则第 $i$ 辆卡车会减速至与第 $i+1$ 辆卡车相同的速度(即卡车之间不会互相超车)。

Bajtazar 以速度 $V$ 行驶,速度快于每一辆卡车(对于所有 $i$,都有 $V > v_i$),他的车长为 $D$。当他的车前端追上某辆卡车的后端时,Bajtazar 会立即执行变道操作,并继续在左侧车道行驶。一旦可以变回右侧车道,Bajtazar 就会执行该操作(即使在同一时刻他可能需要再次变回左侧车道)。

Bajtazar 想知道,在超车所有卡车的过程中,他会执行多少次从右侧车道变到左侧车道的操作。假设当前高速公路上没有其他车辆。

输入格式

第一行包含四个整数 $n, D, W, M$ ($1 \le n \le 100\,000, 1 \le D \le 10^9, 1 \le W, M \le 1000$),分别表示卡车数量、Bajtazar 的车长以及他通过公式 $V = W/M$ 计算出的速度。

接下来的 $n$ 行描述了卡车;第 $i$ 行包含四个整数 $x_i, d_i, w_i, m_i$ ($1 \le x_i, d_i \le 10^9, 1 \le w_i, m_i \le 1000$)。卡车的速度为 $v_i = w_i/m_i$。

车辆不会重叠,即对于 $1 \le i < n$,满足 $0 \le x_1 - d_1$ 以及 $x_i \le x_{i+1} - d_{i+1}$。

所有长度和位置均以距离单位表示,速度以距离单位每时间单位表示。

输出格式

你的程序应输出一行,包含一个整数,表示 Bajtazar 执行变道至左侧车道的次数。

样例

样例输入 1

3 1 1 1
3 2 1 4
6 3 1 2
10 2 1 4

样例输出 1

2

说明 1

Bajtazar 的车以速度 $1$ 行驶,卡车的速度分别为 $\frac{1}{4}, \frac{1}{2}, \frac{1}{4}$。在时刻 $1\frac{1}{3}$,Bajtazar 追上第一辆卡车并变道至左侧,在时刻 $5\frac{1}{3}$ 回到右侧车道。在时刻 $6$,他第二次变道至左侧。在时刻 $8$,第二辆卡车追上第三辆卡车并减速至 $\frac{1}{4}$。在时刻 $14\frac{2}{3}$,Bajtazar 回到右侧车道。

子任务

测试集分为以下子任务。每个子任务的测试用例由一个或多个独立的测试组组成。

子任务 数据范围 分值
1 所有 $v_i$ 相等 10
2 序列 $v_i$ 非递减 ($v_i \le v_{i+1}$) 20
3 $n \le 1000$ 35
4 无额外限制 35

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.