Зсуви
У цьому виклику ваше завдання полягає в тому, щоб передбачити ступінь збитків, спричинених масовим зсувом. Для цього ми використовуємо наступну спрощену двовимірну модель, параметризовану за початковою висотою 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