luogu#P5554. 篮球统计

篮球统计

题目背景

小L喜欢唱、跳、Rap和篮球。

在同一时刻,篮球场上可能会有很多个在空中的篮球,小L想统计这些篮球的信息。

题目描述

当一个篮球被抛到空中时,小L会记下一个时刻 ll ,此时这个篮球开始被小L统计;当一个篮球被接住时,小L会记下一个时刻 rr ,在这之后这个篮球的状态不再被小L统计。对于每个篮球,小L会计算出在时刻 ll 这个篮球的高度和向上的初速度。

对于一个时刻 xx ,小L想知道,对于所有此时还在空中的篮球,高度最高的篮球的高度是多少。

注意 :被发现的篮球的出现时间 l,rl,r 和小L统计信息的时刻 xx 均没有任何单调性。

输入格式

输入的第一行为一个整数 mm

接下来的 mm 行,每行为一个操作或询问,为以下形式之一:

  1. add a v l r :小L发现了一个在空中的篮球,这个篮球在时刻 ll 被抛向空中,在时刻 rr 被接住,这个篮球在时刻 ll 的高度是 aa ,向上的初始速度为 vv

  2. query x :请告诉小L,在他已经给出的信息中,在时刻 xx 在空中的所有篮球中最高的高度是多少。

输出格式

对于每个 query 操作,输出一行,为这个最高的高度。如果此时不存在在空中的篮球,输出 Undefined

为了减小精度误差,推荐使用 long double 类型存储浮点数,输出格式为 %Lf

为了避免精度问题,本题使用 Special Judge 。如果您的答案与标程的答案相差小于等于 0.0050.005 ,则会被视为是正确的。

5
query 1.000
add 1.000 5.000 1.000 2.000
query 1.000
query 2.000
query 1.500
Undefined
1.000000
1.100000
2.275000

提示

对于 30%30\% 的数据, m5000m\le 5000

对于另外 30%30\% 的数据, 100<l,r,x<100-100< l,r,x< 100

对于 100%100\% 的数据, $1\le m\le 100000,-1000< a,v < 1000,-10^6< l,r,x < 10^6,l\le r$ ,保证输入中所有的小数均为 33 位小数。

篮球高度可能是负数。

小K教你学物理

本题中所有的单位均采用国际单位制。即时间单位是秒( ss ),长度单位是米( mm )。

本题中取重力加速度 g=9.8 ms2g=9.8 ~ m \cdot s^{-2}

省略掉篮球横向的位移,可以将篮球的运动看做是 竖直上抛运动 。根据题目中给出的信息,已知篮球初始的高度 aa ,初速度 vv ,重力加速度 gg在空中的时间 tt ,则篮球在这一时刻的高度是 12gt2+vt+a-\dfrac 1 2 g t^2 + vt+a