Миша и сериалы
Ограничение по времени: 1
секунда
Ограничение по памяти: 256
мегабайт
Недавно вышел новый сезон любимого сериала Миши. Каждая серия длится ровно n
секунд. При этом перед началом каждой серии проигрывается одинаковое интро длиной m
секунд, которое очень надоело Мише.
Миша купил себе новую клавиатуру, на которой есть кнопка для перемотки видео. Одно нажатие на такую кнопку перематывает воспроизведение видео на k
секунд вперёд. Нажатие на кнопку и перемотка происходят мгновенно, а также Мише не нужно делать перерывов между нажатиями, поэтому он может мгновенно несколько раз нажать на кнопку перемотки.
python
n, m, k = map(int, input().split())
dp = [float('inf')] * (n + 1)
dp[0] = 0
for i in range(1, n + 1):
if i - m >= 0:
dp[i] = min(dp[i], dp[i - m] + 1)
if i - k >= 0:
dp[i] = min(dp[i], dp[i - k] + 1)
print(dp[n])
Данный алгоритм работает за время O(n), где n - количество секунд в сериале. Решение занимает O(n) памяти для хранения массива dp.
Также стоит отметить, что данное решение не учитывает случаи, когда Миша может сделать несколько нажатий на кнопку перемотки за одну секунду. Если это предусмотрено условием задачи, то алгоритм нужно будет модифицировать соответственно.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет