Задача D. Водопровод с резервной ёмкостью Рассмотрим следующую модель водопровода. Имеется резервная ёмкость объемом V литров. По входной трубе постоянно поступает вода со скоростью d литров в минуту. По выходной трубе жидкость выливается со скоростью b литров в минуту. Выполняется условие, что d < b. В начальный момент времени выход Z из ёмкости перекрыт. В тот момент, когда ёмкость наполняется, выход открывается и вода поступает на выпуск. Так как d < b, то в какой-то момент ёмкость полностью опустеет, и заслонка Z снова закрывается, после чего процесс повторяется снова.
Очевидно, что при этом в работе водопровода случаются паузы, в течение которых происходит заполнение резервной ёмкости. К ним относится и первая пауза, служащая для первичного наполнения ёмкости водой. По техническим причинам требуется, чтобы длина каждой такой паузы не превышала величины p. При этом нас интересует суммарное время t, в течение которого выходная труба была открыта. Количество пауз n при этом должно быть минимальным возможным.
В рассматриваемой модели используются сколь угодно малые доли времени и объема. Считается, что заслонка Z срабатывает мгновенно.
По заданным величинам d, b, t, p требуется найти такой целый объём V, при котором число пауз n было минимально возможным для заданного времени подачи воды t, а среди всех объёмов, обеспечивающих такое время работы подачи воды и такое количество пауз найти самый маленький.
Формат входных данных
В первой строке содержится четыре целых числа d, b, t, p через пробел :
1
≤
1≤ d < b
≤
2
∗
1
0
9
≤2∗10
9
,
1
≤
1≤ t
≤
15000
≤15000,
1
≤
1≤ p
≤
5000
≤5000.
Формат выходных данных
Вывести одно целое число - объем V резервной ёмкости, обеспечивающей необходимые ограничения на подачу воды. Если таких объёмов несколько, вывести минимальный.
Пояснение к примеру 1.
Рассмотрим первый пример из условия. Скорость подачи d равна 5 литров в минуту, скорость выпуска b равна 10 литров в минуту, требуется обеспечить суммарную работу выпуска в течение t = 32 минут, при этом максимальный размер любой паузы не должен превышать p = 8 минут.
Если мы установим объём резервной ёмкости 40 литров, то:
- ровно за 8 минут (что разрешено условием) она наполнится со скоростью 5 литров в минуту;
- далее пойдет процесс выпуска: 40 литров будут выпущены за 4 минуты со скоростью выпуска 10 литров в минуту, но за это время в ёмкость попадёт 4*5 = 20 литров новой воды. Она будет выпущена за 2 минуты, но за это время поступит 2*5 = 10 литров новой воды, которая будет выпущена за 1 минуту и так далее. Так как доли времени и объема могут быть сколь угодно малыми, получим при подсчёте времени работы выпуска следующую сумму: 4 + 2 + 1 + 0.5 + 0.25 + 0.125 + , которая в итоге равна 8. То есть через 8 минут ёмкость полностью опустеет и заслонка закроется. Для того, чтобы время работы выпуска было равно 32 минуты потребуется 32 / 8 = 4 таких цикла, а значит и 4 паузы. За меньшее число пауз работу выпуска в течение 32 минут при существующих ограничениях обеспечить не получится.
Очевидно, что V = 40 литров - максимально возможный разрешённый объём, иначе первая же пауза будет больше допустимой. С другой стороны, если мы попробуем уменьшить объем до 39 литров, то получим:
- первоначальное заполнение будет произведено за 39 / 5 = 7.8 минуты. Далее процесс выпуска будет работать 39/10 + 39/20 + 39/40 + ... = 7.8 минуты. Тогда за 4 цикла выпуск будет работать 31.2 минуты и для обеспечения 32 минут работы выпуска потребуется пятая пауза.
Sample Input 1:
5 10 32 8
Sample Output 1:
40
Sample Input 2:
5 10 30 8
Sample Output 2:
38
Sample Input 3:
127 128 1 1
Sample Output 3:
1
На Python 3
244
474
Ответы на вопрос:
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
9petya20.07.2020 02:35
-
Ask201710.06.2020 04:58
-
kirilln212.04.2020 20:30
-
чсссвввввавшвневаа16.11.2020 04:10
-
romandichii121.06.2022 22:21
-
homusik28.10.2020 23:48
-
Maksim77790012.08.2022 15:53
-
Kate052608.10.2022 02:45
-
Nemuverus23.12.2020 09:25
-
Mashannjjj20.01.2020 15:23
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.