QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 512 MB Total points: 100

#991. Почти свободное падение

Statistics

Боб очень любит прыжки с парашютом, поэтому во время своей последней стажировки в IT-компании он решил испытать ощущения от прыжка с самолета и свободного падения перед тем, как раскрыть парашют. Но все произошло так быстро, что он не успел оглянуться, как оказался на земле!

Теперь он хочет узнать, какое расстояние он пролетел в воздухе, начиная с точки прыжка, в некоторые конкретные моменты времени, а также общее время падения.

Опишем это более формально: предположим, что в момент времени $t = 0$ Боб является точечной массой $m$ с начальной позицией в точке прыжка, начальной скоростью, равной нулю (он прыгнул из состояния покоя), и закрытым парашютом. Естественно, гравитация Земли прикладывает направленную вниз силу, равную его весу $m \cdot g$, где $g = 9.81 \, \text{м/с}^2$.

Для большей реалистичности, в период времени, пока он не раскрыл парашют, воздух прикладывает направленную вверх силу (сопротивление воздуха), равную $b_1 \cdot v(t)$, где $b_1$ — заданная константа, а $v(t)$ — его мгновенная скорость. Затем, в момент времени $t = t_1$, когда он раскрывает парашют, эта сила исчезает, и немедленно появляется новая направленная вверх сила, равная $b_2 \cdot v(t)$, где $b_2 > b_1$. Это означает, что раскрытие парашюта создает большее сопротивление падению Боба, или, другими словами, он будет падать медленнее.

Помогите Бобу вычислить, какое расстояние он пролетел к заданным моментам времени, и общее время падения. Гарантируется, что парашют раскрывается строго до того, как он достигнет земли (другими словами, он не разбивается), и все моменты времени в запросах строго меньше общего времени падения.

Входные данные

Первая строка содержит пять целых чисел: $m$ ($40 \le m \le 120$), $b_1$, $b_2$ ($1 \le b_1 < b_2 \le 100$), $t_1$ ($90 \le t_1 \le 180$) и $h_f$ ($1 \le h_f \le 70\,000$), обозначающие массу Боба в килограммах, константу при закрытом парашюте в $\text{Н} \cdot \text{с/м}$, константу при раскрытом парашюте в $\text{Н} \cdot \text{с/м}$, время раскрытия парашюта в секундах и общую высоту от начальной точки до земли в метрах соответственно. Напомним, что сила измеряется в ньютонах, и $1 \, \text{Н} = 1 \, \text{кг} \cdot \text{м/с}^2$.

Вторая строка содержит целое число $q$ ($1 \le q \le 20$), количество запросов от Боба.

Каждая из следующих $q$ строк содержит целое число $t_i$ в секундах, обозначающее момент времени, для которого Боб хочет узнать пройденное расстояние.

Выходные данные

Выведите $q$ строк: для каждого запроса пройденное расстояние в метрах. После этого выведите одну строку, указывающую общее время падения в секундах.

Абсолютная или относительная погрешность ответов не должна превышать $10^{-4}$.

Примеры

Входные данные 1

45 57 95 173 2347
6
385
293
326
65
104
161

Выходные данные 1

2320.3231578947
1892.8136842105
2046.1594736842
497.2936288089
799.3383656510
1240.7883656510
390.7408540039

Входные данные 2

45 75 85 99 811
3
57
89
94

Выходные данные 2

331.9704000000
520.3224000000
549.7524000000
143.5652618043

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.