Минимальная стоимость Чтобы установить таймер цифровых часов с заданной стоимостью движения и толчка

Опубликовано: 19 Сентября, 2022

Даны целые числа 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 = 18

Input: A = 2, B = 1, N = 1
Output: 3

Подход: Эта проблема основана на реализации. Найдите два возможных представления (может иметь только одно возможное представление) и минимальную стоимость среди этих двух. Выполните шаги, указанные ниже:

  • Первое наблюдение должно заключаться в том, что нет необходимости нажимать 0, которые автоматически добавляются часами.
  • Итак, найдите два такта: (x/60, x%60) и (x/60 -1, 60 + x%60), никакая другая комбинация невозможна.
  • Попробуйте найти лучший ответ только между этими двумя таймингами.

Ниже приведена реализация описанного выше подхода.


Временная сложность: O(1)
Вспомогательное пространство: О (1).