Минимальная стоимость Чтобы установить таймер цифровых часов с заданной стоимостью движения и толчка
Даны целые числа A, B и N. Задача состоит в том, чтобы минимизировать стоимость установки N секунд в цифровых часах, где время представлено в следующем формате:
- не более 99 минут и 99 секунд
- не менее 1 секунды
- Первые две цифры представляют минуты, а последние две минуты представляют секунды.
- Он добавляет 0, если для установки времени нажато менее 4 цифр.
A — это стоимость получения новой цифры, которая еще не нажата для установки времени, а B — стоимость нажатия любой цифры для установки времени.
Примеры:
Input: A = 1, B = 5, N = 300
Output: 17
Explanation: The following possible clock settings can be: 05:00, 5:00, 04:60, 4:60.
since 4 minutes, 60 seconds is equivalent to 5 minutes.
If the clock is set as 5:00 it will require 1 + 5 to set 5, then 1 + 5 to set a zero, then 5 to set the last zero,
since the same button is pressed again, no requirement of adding A.
So minimum cost = 1 + 5 + 1+ 5 + 5 = 17
The other option of 4:60 gives cost = 1 + 5 + 1 + 5 + 1 + 5 = 18Input: A = 2, B = 1, N = 1
Output: 3
Подход: Эта проблема основана на реализации. Найдите два возможных представления (может иметь только одно возможное представление) и минимальную стоимость среди этих двух. Выполните шаги, указанные ниже:
- Первое наблюдение должно заключаться в том, что нет необходимости нажимать 0, которые автоматически добавляются часами.
- Итак, найдите два такта: (x/60, x%60) и (x/60 -1, 60 + x%60), никакая другая комбинация невозможна.
- Попробуйте найти лучший ответ только между этими двумя таймингами.
Ниже приведена реализация описанного выше подхода.
Временная сложность: O(1)
Вспомогательное пространство: О (1).