Вопрос Python 3 миша и сериалы

Регистрация
11 Ноя 2013
Сообщения
79
Репутация
0
Спасибо
0
Монет
0
Недавно вышел новый сезон любимого сериала Миши. Каждая серия длится ровно n

секунд. При этом перед началом каждой серии проигрывается одинаковое интро длиной m

секунд, которое очень надоело Мише.

Миша купил себе новую клавиатуру, на которой есть кнопка для перемотки видео. Одно нажатие на такую кнопку перематывает воспроизведение видео на k

секунд вперёд. Нажатие на кнопку и перемотка происходят мгновенно, а также Мише не нужно делать перерывов между нажатиями, поэтому он может мгновенно несколько раз нажать на кнопку перемотки.

К сожалению, не всегда удаётся перемотать интро так, чтобы не потерять ни секунды событий сериала. Миша решил, что если придётся пропустить не более чем t

секунд сериала, то он готов смириться с этим. Теперь Мише интересно, какое максимальное количество секунд сериала он посмотрит, если пропустит как можно больше интро, не пропустив при этом более t

секунд сериала.

Проще говоря, если у Миши получится перемотать интро целиком, потеряв при этом не более t

секунд сериала, то он поступит именно так. Иначе он пропустит столько секунд интро, сколько возможно.

Формат входных данных

Первая строка содержит одно целое число n

(1⩽n⩽109)



длительность одной серии в секундах.

Вторая строка содержит одно целое число m

(0⩽m⩽109)



длительность интро в секундах.

Третья строка содержит одно целое число k

(1⩽k⩽109)



количество секунд, которые перематываются при нажатии на кнопку.

Четвёртая строка содержит одно целое число t

(0⩽t<n)



максимальное количество секунд сериала, которые Миша готов пропустить.

Формат выходных данных

Выведите одно целое число —

количество секунд сериала, которые посмотрит Миша.

Система оценки

Помимо примеров из условия, задача содержит 25

тестов. Каждый из них оценивается в 4

балла.

Замечание

В первом примере серия начинается с интро длиной 5

секунд, после чего начинается основная часть серии, которая длится 10

секунд. За одно нажатие на кнопку Миша проматывает 2

секунды, при этом он готов пропустить не более 1

секунды сериала. Поэтому мальчик может три раза нажать на кнопку перемотки, после чего он посмотрит 9

секунд сериала.

Во втором примере Миша не готов жертвовать просмотром серии, поэтому он посмотрит всю серию целиком, перемотав 4

секунды интро из 5

.

В третьем примере Миша сможет полностью пропустить интро за два нажатия, после чего он посмотрит всю серию.

Ввод: 10 5 2 1 | 10 5 2 0 | 30 10 5 2

Вывод: 9 | 10 | 30
 
если у Миши получится перемотать интро целиком, потеряв при этом не более t секунд сериала, то он поступит именно так.
Если же перемотать интро целиком не удастся, то Миша пропустит столько секунд интро, чтобы потеря секунд сериала при этом была наименьшей и не превышала t.
Вам необходимо написать программу, которая по заданным значениям m, n, k и t определяет максимальное количество секунд, которое Миша сможет посмотреть.
Пример ввода:

m = 10
n = 60
k = 30
t = 45
Пример вывода:

360
 
n = int(input())
m = int(input())
k = int(input())
t = int(input())

if m >= n:
print(n)
else:
x = min((n - m) // k, t)
print(m + k * x)
 
n = int(input('n = '))
m = int(input('m = '))
k = int(input('k = '))
t = int(input('t = '))
p = (t + m)//k
res = min(n - (p*k - m), n)
print(res)
 
Назад
Сверху