Блог пользователя furious

Автор furious, 13 лет назад, По-русски
  • Проголосовать: нравится
  • -4
  • Проголосовать: не нравится

»
13 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Найдём заказ, в котором 1 лист самый дешёвый и будем брать этот заказ пока можем. После этого останется не больше 107 листов и можно написать динамику.

  • »
    »
    13 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +2 Проголосовать: не нравится

    Все проще. Давайте улучшим наши значения так, во-первых заменим a[i] на min(a[i]..a[7]). После этого заменим a[i] на min(a[i], 10 * a[i - 1]). Теперь утверждается, что стоимость каждого типа оптимальна. Теперь поокругляем N в большую сторону до единиц, десятков, тысяч и так далее. И для каждого такого числа жадно набираем заказы, затем выбираем минимум.