内存限制:256 MB
时间限制:1 S
题面:Markdown
评测方式:Special Judge
上传者:
提交:16
通过:0
由于未知原因spj不可用,请到牛客提交
https://ac.nowcoder.com/acm/contest/95335/E
$\hspace{15pt}$在一水平光滑平面上,有 $n$ 个质量相同,体积可忽略不计的小球。所有小球位于同一条直线上,并且它们的初始速度 $v_0$ 要么为 $-1$ m/s,要么为 $1$ m/s。初始速度为 $-1$ 表示小球沿直线方向向左,初始速度为 $1$ 表示小球的初速度沿直线向右。
$\hspace{15pt}$当两球相向而行发生碰撞时发生完全弹性碰撞,公式如下。其中 $m_1,m_2$ 表示发生碰撞的两物体的质量,$v_1,v_2$ 表示碰撞前的速度。
$ v_1=\dfrac{(m_1-m_2)v_1+2m_2v_2}{m_1+m_2} $ $\hspace{15pt}$ $ v_2=\dfrac{(m_2-m_1)v_2+2m_1v_1}{m_1+m_2} $
$\hspace{15pt}$请不要担心,本题并非一道物理学问题。你只需要知道当两个质量完全相同的物体发生碰撞时,它们将彼此交换互相的速度。
$\hspace{15pt}$现在智乃想要知道,经过足够长的时间后,是否会发生第 $k$ 对碰撞关系,以及从初始时刻开始,经过多长时间后发生第 $k$ 对小球之间的碰撞(同一时刻可能会发生多对碰撞,但在任意一个碰撞关系中仅涉及到两个小球)。
$\hspace{15pt}$第一行输入两个正整数 $n,k\left(1\leq n \leq 10^{5};\ 1\leq k \leq 10^9\right)$ 代表小球个数、想要知道第 $k$ 对碰撞关系发生在什么时刻。
$\hspace{15pt}$此后 $n$ 行,每行输入两个整数 $p_i,v_i\left(0 \leq p_i \leq 10^9;\ v_i \in \{-1,1\}\right)$ 代表第 $i$ 个小球的初始位置和速度。
$\hspace{15pt}$输入保证,一开始所有小球的位置均不同。
$\hspace{15pt}$如果确定会发生第 $k$ 对碰撞关系,在第一行上输出 $\rm Yes$,随后在第二行上输出一个浮点数表示答案;否则,直接输出 $\rm No$。
$\hspace{15pt}$由于实数的计算存在误差,当误差的量级不超过 $10^{-6}$ 时,您的答案都将被接受。具体来说,设您的答案为 $a$ ,标准答案为 $b$ ,当且仅当 $\tfrac{|a-b|}{\max(1,|b|)}\leq 10^{-6}$ 时,您的答案被视为正确。