n + 1 человек, места пронумерованы от 0 (самое начало) до n. Вы стоите последним, на месте n. Дан массив fees длины n: человек на месте i готов поменяться с вами местами за плату fees[i].
Правила обмена такие:
- с любым, кто стоит **впереди** вас, можно поменяться, заплатив ему его цену;
- с любым, кто стоит **позади** вас, можно поменяться бесплатно.
Для каждого места i от 0 до n - 1 найдите минимальную сумму, которую придётся заплатить, чтобы оказаться на этом месте. Верните массив из n таких сумм.fees=[7, 9, 2, 6] → [7, 7, 2, 2]
До места 0 — только заплатить 7. До места 1 дешевле дойти через место 0 (7), чем платить 9. Место 2 стоит 2, и дальше назад до места 3 можно поменяться бесплатно, поэтому ответ [7, 7, 2, 2].
fees=[3, 5, 8] → [3, 3, 3]
Один раз заплатив 3 за место 0, вы можете бесплатно отступить на любое место позади.
fees=[4] → [4]
Впереди один человек, место 0 обходится в 4.
n = fees.length ≤ 10⁵fees[i] ≤ 100fees=[7, 9, 2, 6]
[7, 7, 2, 2]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 110 тестов на сервере, включая скрытые.