#P6910. [ICPC 2015 WF] Pipe Stream

[ICPC 2015 WF] Pipe Stream

Description

你的家乡雇了一些承包商——包括你!—— 来管理市政管道网络。他们花费巨资建设了该网络,以向城镇中的每个家庭供应弹力胶。不幸的是,目前还没有人找到弹力胶的用途,但没关系。这要么是一个弹力胶网络,要么是一个消防部门。但老实说,房屋很少烧毁,似乎并不需要消防部门。

假设某个地方有人决定要制作一些弹力胶,他们希望知道它会在管道中以多快的速度流动。测量它的流动速度就是你的工作。

你可以访问与网络连接的其中一根管道。该管道长度为 ll 米,并且你可以在选择的时间开始通过此管道传输弹力胶。你知道它以恒定的实数速度流动,该速度至少为 v1v_1 米/秒,最多为 v2v_2 米/秒。你希望以至多 t2\frac{t}{2} 米/秒的绝对误差估计此速度(即绝对误差不大于 t2\frac {t}{2})。

不幸的是,管道是不透明的,所以你唯一能做的事就是在管道的任意一点敲打,即在闭合的实数范围 [0,l][0,l] 内。通过听到敲打声,你可以知道弹力胶是否到达了那个点。你的速度并不是无限快的。你第一次敲打必须在开始流动后至少 ss 秒,并且敲打之间必须有至少 ss 秒的间隔。

你的任务是确定一种策略,需要在最坏情况下用最少的敲击来估算弹力胶的流速。注意,在某些情况下,所需的估计可能是不可能的(例如,弹力胶可能过快地到达管道的末端)。

Input Format

输入包含多组数据。输入的第一行包含一个整数 cc (1c100)(1 \le c \le 100),表示数据组数。接下来的 cc 行描述了每组数据。每组数据包含五个整数 llv1v_1v2v_2ttss $(1 \le l, v_1, v_2, t, s \le 10^9 \text{并且}v_1<v_2)$,含义如上所述。

Output Format

对于每组数据,输出在最坏情况下估计流速所需的最小敲击次数。如果无法准确测量流速,则输出 "impossibleimpossible"(不含引号)。

3
1000 1 30 1 1
60 2 10 2 5
59 2 10 2 5

5
3
impossible

Hint

时间限制:10001000 ms,空间限制:10485761048576 kB。

题目来源

International Collegiate Programming Contest (ACM-ICPC) World Finals 2015

icpc2015.pdf