ground: ground[i] — высота земли в столбце i, ширина каждого столбца равна 1. Слева и справа от массива стоят бесконечно высокие стены. Уровень столбца — это высота земли плюс вода, которая уже в нём скопилась.
На столбец spot по очереди падают drops капель. Каждая капля сначала оказывается на верху столбца spot, а потом движется так:
- если, двигаясь влево по столбцам не выше текущего, она в итоге может спуститься на уровень ниже, чем был у spot, она уходит влево;
- иначе, если такой спуск возможен вправо, она уходит вправо;
- иначе остаётся в spot.
Уходя в сторону, капля оседает в ближайшем к spot столбце с самым низким уровнем из тех, до которых можно дойти, ни разу не поднимаясь. Каждая капля целиком занимает один столбец и поднимает его уровень на 1.
Верните массив уровней после того, как упадут все капли.ground=[3, 0, 2, 2, 1], drops=3, spot=2 → [3, 2, 2, 2, 2]
Первая капля стекает влево в ямку на позиции 1. Вторая снова видит слева спуск и тоже оседает в позиции 1. Теперь слева ровно (уровень 2 до самой стены), поэтому третья капля уходит вправо и оседает в позиции 4.
ground=[2, 2, 2], drops=2, spot=1 → [3, 3, 2]
Вокруг ровно, спуска нет ни в одну сторону — первая капля остаётся на месте. После этого позиция 1 выше соседей, и вторая капля скатывается влево.
ground=[5], drops=4, spot=0 → [9]
ground) ≤ 100ground[i] ≤ 99drops ≤ 2000spot < len(ground)ground=[3, 0, 2, 2, 1], drops=3, spot=2
[3, 2, 2, 2, 2]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 123 теста на сервере, включая скрытые.