Задача C-1: [C] Игра с числами
Петя нашел у себя на полке два числа и решил поиграть с ними! В игре, которую он придумал, есть всего два типа ходов: сделав ход первого типа, ровно одно из чисел либо уменьшается, либо увеличивается на 1 При ходе второго типа оба числа либо увеличиваются, либо уменьшаются на 1 (одновременно).
Так как было уже поздно, пришла мама и сказала Пете ложиться спать. Но вот беда — каждый ход первого типа требует x секунд, а каждый ход второго типа y секунд. Помогите Пете и выведите наименьшее количество секунд, которое необходимо потратить, чтобы получить два нуля (иначе мама его накажет).
Формат входных данных В первой строке записано два числа — x, y
Во второй строке записано два числа — a, b числа, которые были у Пети изначально.
Формат результата Выведите одно число — минимальное время в секундах, которое потребуется, чтобы получить два нуля.
Примеры
Входные данные
5 7
7 10
Результат работы
64
Входные данные
20 1
15 10
Результат работы
110
Входные данные
3 2
0 0
Результат работы
0
Я написал это
x, y = input().split()
x, y = int(x), int(y)
a, b = input().split()
a, b = int(a), int(b)
time = 0
if a < b:
time += x*(b - a)
b -= (b - a)
time += y*a
elif a > b:
time += x*(a - b)
a -= (a - b)
time += y*a
elif a == b:
time += y*a
print(time)
Но почему-то оно не проходит тест №7, что в этом тесте я не знаю
Ответы (1 шт):
Вот учел ваше сообщение @Stanislav
t1, t2 = list(map(int, input().split()))
x, y = list(map(int, input().split()))
time_to_zeros = t1 * abs(x - y) + t2 * min(x, y)
print(min(time_to_zeros, (x + y) * t1))