Напишите решение задачи ("Драконий покер")
Драконий покер - сложная игра и в нем есть специальный раунд, где требуется сбросить ровно n карт, для того что бы набрать нужное количество баллов. Карты требуется сбрасывать как можно быстрее. У игрока не может быть больше чем m карт. Изначально карт у игрока нет. Игрок может взять ровно m карт за a секунд, или добрать всего одну карту за b секунд. Сброс одной карты занимает ровно одну секунду. Помогите посчитать, за какое минимальное время игрок сможет сбросить ровно n карт. Нельзя добрать карту, если у игрока уже m карт. Формат входных данных В строке находятся четыре целых числа n, m, a и b (1 <= n, m, a, b <= 10^4) — число карт, которое сбросить, максимальное количество карт, которое может быть у игрока, время за которое можно взять из колоды ровно m карт, и время за которое можно взять всего одну карту из колоды. Формат выходных данных Выведите одно число — минимальное время, которое понадобится игроку, что бы сбросить ровно n карт. Пример
стандартный ввод
3 2 1 1
стандартный вывод
5
Замечание В тесте из условия требуется один раз полностью взять m карт, два раза сбросить по одной карте, потом добрать одну карту из колоды и сбросить ее.
Есть такой пример моего кода, но больше примера он не проходит, почему ?
n,m,a,b = map(int, input ().split())
time = 0
cart = 0
while n > 0:
if cart + m > m:
n-=1
cart -= 1
time += 1
else:
if n - 1 == 0 and b <= a:
cart += 1
time += b
else:
cart += m
time += a
print(time)