Advertisement
nq1s788

Untitled

Sep 8th, 2024
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. Будем решать задачу жадно.
  2. Первое число менять не нужно, далее пойдем по последовательности b слева направо, для каждого числа посчитаем, сколько шагов нам нужно, чтобы текущее число (b[i]) сделать больше, чем предыдущее (b[i - 1]). Если b[i] уже > b[i - 1], ничего добавлять не нужно, p = 0; иначе нам нужно "добить" разницу b[i - 1] - b[i] минимальным количеством d. На это уйдет p = ceil((b[i - 1] - b[i]) / d) ходов, где ceil(x) -- округление вверх. К ответу добавляем p, и нужно не забыть увеличить наше текущее число на p ходов -- b[i] += p * d.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement