Оползни
В этой задаче ваша задача состоит в том, чтобы предсказать степень ущерба, нанесенного массивным оползнем. Для этого мы используем следующую упрощенную двумерную модель, параметризованную начальной высотой h >= 0 и критическим коэффициентом c > 0 . Вы начинаете со скалы высоты h, и предполагается, что местность абсолютно плоская бесконечно слева и справа от нее. Ибо h = 6ситуация выглядит так:
##########
##########
##########
##########
##########
##########
-----------------------
-Неподвижен бедрок и #неустойчивы почвы. Если разница в высоте между двумя соседними столбцами больше, чем cэто происходит, происходит оползень : верхние cединицы почвы из левого столбца опускаются до следующих cстолбцов справа, по одному на каждый. Крайний правый непустой столбец на рисунке нестабилен c = 2, поэтому происходит оползень:
#########
#########
##########
##########
##########
############
-----------------------
Столбец все еще нестабилен, что вызывает второй оползень:
#########
#########
#########
#########
############
############
-----------------------
Теперь столбик слева стал нестабильным, поэтому там произошел новый оползень:
########
########
#########
###########
############
############
-----------------------
После этого скала снова стабилизируется. Приятно то, что в этой модели порядок обработки оползней не имеет значения: конечный результат одинаков.
Задание
Ваша программа получает целочисленные параметры hи в cкачестве входных данных (порядок не имеет значения, но вы должны указать его в своем ответе), и она должна выводить общее количество столбцов , на которые влияет оползень. Это означает количество столбцов в полученном стабильном утесе, высота которого строго между 0и h. В приведенном выше примере правильный вывод 4.
Вы можете написать полную программу или функцию. Побеждает меньшее количество байтов, и стандартные лазейки запрещены.
Тестовые случаи
Они даны в формате h c -> output.
0 2 -> 0
2 3 -> 0
6 2 -> 4
6 6 -> 0
10 1 -> 10
15 1 -> 14
15 2 -> 11
15 3 -> 6
40 5 -> 16
80 5 -> 28
80 10 -> 17