Есть две копировальных машины, одна делает копию документа за x минут, а вторая — за y минут. Требуется получить n копий некоторого документа. За какое минимальное время это возможно сделать? Изначально документ существует в одном экземпляре. Формат ввода В единственной строке даны три числа, разделенные пробелом: N, x, y (1 ≤ x, y ≤ 10, 1 ≤ N ≤ 2*108).

16 Июл 2019 в 19:45
195 +1
0
Ответы
1

Пример ввода:
5 2 3

Пример вывода:
8

Для решения этой задачи нам нужно определить, какую из копировальных машин лучше использовать для достижения минимального времени. Для этого мы будем считать, что сначала будем пользоваться машиной, которая справляется быстрее.

Для каждой сделанной копии документа, мы либо уменьшаем количество копий n на 1, если это была первая машина, либо на 2, если это была вторая. После каждого копирования мы должны выбирать наиболее быструю машину для следующего копирования.

Следовательно, если x <= y, то мы сначала будем использовать первую машину, пока не останется n-1 копий, затем будем использовать вторую машину для оставшихся n-1 копий. И наоборот, если y < x.

Реализуем эту логику в коде на Python:

n, x, y = map(int, input().split())
if x > y:
x, y = y, x
low = 0
high = n * x
result = 0
while low <= high:
mid = (low + high) // 2
count = mid // x + mid // y
if count >= n:
result = mid
high = mid - 1
else:
low = mid + 1
print(result)

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

20 Апр в 23:16
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 028 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир