Однажды утром Глеб с ужасом осознал, что проспал, а пары в «Высшем университете» начинаются уже скоро. Опоздать было бы не так страшно, если бы он их и не вёл. К счастью, автомобиль Глеба «Пантера» довольно мощный: для упрощения будем считать, что за одну секунду он может сначала или увеличить скорость на $$$1$$$, или уменьшить скорость на $$$1$$$, или не менять её, а после этого его автомобиль проезжает $$$x$$$ метров, где $$$x$$$ — его текущая скорость в метрах в секунду. Потом он снова принимает решение об изменении скорости. Начальная скорость автомобиля преподавателя в момент, когда он только выезжает из дома, равна нулю. Путь до университета от его дома не близкий: нужно проехать $$$d$$$ метров.
Глеб, обеспокоенный за знания своих студентов, хочет попасть в университет как можно раньше, чтобы успеть подготовиться к проведению лекции. К сожалению, у проезда на парковку университета установлен датчик движения: если скорость проезжающего транспортного средства будет превышать $$$s$$$, то администрация университета выпишет нарушителю дисциплинарное взыскание. Конечно, Глеб не хочет его получить, поэтому при въезде в университет, когда автомобиль проехал все $$$d$$$ метров его скорость $$$x$$$ должна быть не больше $$$s$$$.
Пока Глеб собирался на работу, его заинтересовал вопрос, а за какое минимальное время он может доехать до работы, если будет действовать оптимально, но не нарушать правила при въезде в университет. Так как преподаватель будет занят скоростным вождением, ответить на этот вопрос честь выпала вам!
В двух строках заданы два целых числа — $$$d$$$, $$$s$$$ ($$$1 \leq d \leq 10^{18}$$$, $$$0 \leq s \leq 10^{18}$$$), расстояние до университета и ограничение на конечную скорость.
Обратите внимание, что входные данные могут быть больше, чем возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные целочисленные типы данных (тип int64 в языке Pascal, тип long long в C и C++, тип long в Java и C#). Язык Python будет корректно работать и с типом int.
Выведите единственное число — минимальное время, за которое Глеб может доехать до университета, не получив дисциплинарное взыскание.
2 1
2
10 0
7
В первом тесте из условия Глебу выгодно действовать следующим образом:
Таким образом, он потратит $$$2$$$ секунды, и его конечная скорость будет равно $$$1$$$ м/с, что не превышает $$$s$$$.
Во втором тесте из условия Глебу выгодно действовать, например, так:
Таким образом, он потратит $$$7$$$ секунд, и его конечная скорость будет равно $$$0$$$ м/с, что не превышает $$$s$$$.
В данной задаче $$$25$$$ тестов, помимо тестов из условия, каждый из них оценивается в $$$4$$$ балла. Результаты работы ваших решений на всех тестах будут доступны сразу во время соревнования.
Решения, корректно работающие при $$$s = 0$$$, наберут не менее $$$20$$$ баллов.
Решения, корректно работающие при $$$1 \leq d \leq 10^4$$$, наберут не менее $$$40$$$ баллов.
Решения, корректно работающие при $$$1 \leq d \leq 10^9$$$, наберут не менее $$$60$$$ баллов.