T281298 跑步

题目背景

因为题目太难,同学们集体罢工不在考试,于是统统到操场跑步去了。 等等,好熟悉的感觉,搞戳啦,重来。 因为djc强烈要求让他成为题目中的主角,所以...... 由于djc某次考试看错题了,所以他打算把看错的题拿给你做,仔细读题哟!!!不然你就会成为下一个 djc。

题目描述

俯视操场,把操场看成一个平面,建立平面直角坐标系。 同学们分成了两组。 第一组的同学刚开始站在 $x$ 轴上,位置在 $(p_i,0)$,他们的跑动速度都是 $(0,v_1)$(即:向 $y$ 轴方向以 速度 $v_1$ 跑动)。每个人有一个视野范围 $w_i$,也就是说,当他位于坐标 $(x,y)$ 时,**它能够看见点 $(x,y)$ 到 点 $(x,y+w_i)$ 这条线段上的人(包含端点)。** 第二组的同学站在 $y$ 轴上,位置在 $(0,p_i)$ 上,他们的跑动速度都是 $v_2$(即:向 $x$ 轴方向以 $v_2$ 速度跑 动)。每个人有一个视野范围 $w_i$,也就是说,当他位于坐标 $(x,y)$ 时,它能够看见点 $(x,y)$ 到点 $(x+w_i,y)$ 这条线段上的人(包含端点)。 同学们都有一个自己的出现时间 $t_i$,可以理解为,在 $t_i$ 时间,这个同学会出现在自己的位置上,然后按 照自己的速度开始奔跑。 每位同学在自己奔跑的时候,会记录自己视野范围内出现的人,现在你需要求 出每位同学在自己奔跑的 过程中,能记录到多少个不同的人(不包括自己)。(假设时间无限,一直跑 下去)

输入格式

一行,三个整数,$n$,$v_1$,$v_2$。 接下来 $n$ 行,每行四个整数 $a_i$,$t_i$,$p_i$,$w_i$,分别表示这个同学时第 $a_i$ 组的同学,他的出现时间是 $t_i$, 位置参数是 $p_i$,视野范围是 $w_i$。

输出格式

$n$ 行,第 $i$ 行表示第 $i$ 个人在跑步过程中一共看见的不同的人数。

说明/提示

【样例 1 解释】 两人会在 $(1,2)$ 处相遇,故可以互相看到对方 【样例 2 解释】 第二个人会在第一个人出现之前走出其可能的视线范围(即横坐标超过1) **【数据范围】** Subtask 1 保证数据为原数据范围。 其中对于 Subtask 1 中 有 $30\%$ 数据满足,$n\le 1000$。 有 $50\%$ 数据满足,$v_1=v_2=1$。 对于 $100\%$ 的数据满足,$1\le n, v_1,v_2,t_i,p_i,w_i\le 10^5$,$a_i\in \{1,2\}$。 保证同组的同学中,任意两个同学的 $p_i$ 不相同。 Subtask 2 对于 $100\%$ 的数据满足,$1\le n\le 10^6$,$1\le v_1,v_2,t_i,p_i,w_i\le 10^5$,$a_i\in \{1,2\}$。