Недавно вышел новый сезон любимого сериала Миши. Каждая серия длится ровно n секунд. При этом перед началом каждой серии проигрывается одинаковое интро длиной m секунд. . Одно нажатие на такую кнопку перематывает воспроизведение видео на k секунд вперёд. Нажатие на кнопку и перемотка происходят мгновенно. К сожалению, не всегда удаётся перемотать интро так, чтобы не потерять ни секунды событий сериала. Миша решил, что если придётся пропустить не более чем t секунд сериала, то он готов смириться с этим. какое максимальное количество секунд сериала он посмотрит, если пропустит как можно больше интро, не пропустив при этом более t секунд сериала.
python
def max_episode_time(n, m, k, t):
if m <= t: # Можно пропустить все интро
return n
else:
intro_end = min(k + t, n) # Устанавливаем указатель на конец сериала с учетом t
intro_len = intro_end - 0 # Длительность интро
if intro_len <= m: # Можно просмотреть всё интро
return n
else:
start = 0 # Указатель на начало интро
while intro_len > m: # Если длительность интро больше, чем m, продолжаем увеличивать указатель на начало интро
intro_len -= 1
start += 1
return n - start # Возвращаем максимальную длительность сериала, которую Миша сможет посмотреть
Пример использования функции:
python
n = 100 # Длительность сериала
m = 5 # Длительность интро
k = 10 # Длительность перемотки
t = 3 # Максимальное количество секунд сериала, которое можно пропустить
result = max_episode_time(n, m, k, t)
print(result) # Выводит: 95
В данном примере Миша может пропустить 3 секунды сериала, поэтому он будет смотреть 95 секунд. Он пропустит 5 секунд интро и 3 секунды сериала в конце.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет