P6910 [ICPC 2015 WF] Pipe Stream

题目描述

你的家乡雇了一些承包商——包括你!—— 来管理市政管道网络。他们花费巨资建设了该网络,以向城镇中的每个家庭供应弹力胶。不幸的是,目前还没有人找到弹力胶的用途,但没关系。这要么是一个弹力胶网络,要么是一个消防部门。但老实说,房屋很少烧毁,似乎并不需要消防部门。 假设某个地方有人决定要制作一些弹力胶,他们希望知道它会在管道中以多快的速度流动。测量它的流动速度就是你的工作。 你可以访问与网络连接的其中一根管道。该管道长度为 $l$ 米,并且你可以在选择的时间开始通过此管道传输弹力胶。你知道它以恒定的实数速度流动,该速度至少为 $v_1$ 米/秒,最多为 $v_2$ 米/秒。你希望以至多 $\frac{t}{2}$ 米/秒的绝对误差估计此速度(即绝对误差不大于 $\frac {t}{2}$)。 不幸的是,管道是不透明的,所以你唯一能做的事就是在管道的任意一点敲打,即在闭合的实数范围 $[0,l]$ 内。通过听到敲打声,你可以知道弹力胶是否到达了那个点。你的速度并不是无限快的。你第一次敲打必须在开始流动后至少 $s$ 秒,并且敲打之间必须有至少 $s$ 秒的间隔。 你的任务是确定一种策略,需要在最坏情况下用最少的敲击来估算弹力胶的流速。注意,在某些情况下,所需的估计可能是不可能的(例如,弹力胶可能过快地到达管道的末端)。

输入格式

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

输出格式

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

说明/提示

时间限制:$1000$ ms,空间限制:$1048576$ kB。 ### 题目来源 > International Collegiate Programming Contest (ACM-ICPC) World Finals 2015 > [icpc2015.pdf](https://icpc.global/worldfinals/problems/2015-ICPC-World-Finals/icpc2015.pdf)