Помогите с олимпиадой по информатике, пожалуйста.
Пожалуйста, предоставьте код на любом языке.
Нарезка сосисок
На олимпиаду приехало m участников. Организаторы приготовили n сосисок на обед и их необходимо нарезать на кусочки так, чтобы суммарная длина кусочков, которые достанутся каждому участнику, была максимальна и одинакова. Одним разрезом можно разрезать только одну сосиску.
Определите минимальное суммарное количество разрезов, которые необходимо сделать.
Формат входных данных
В единственной строке входных данных вводятся два числа n, m (1 ≤ n, m ≤ 100).
Формат результата
Выведите минимальное суммарное количество разрезов.
Примеры
Входные данные
3 4
Результат работы
3
Входные данные
4 8
Результат работы
4
Входные данные
8 2
Результат работы
0
Примечания
В первом примере нужно можно отрезать от каждой сосиски 3/4 её длины и дать эти кусочки первым трём участникам. Оставшийся участник получит 3 четвертинки сосиски.
Во втором примере достаточно разрезать каждую сосиску пополам и каждый участник получит по половине сосиски.
В третьем примере разрезы не нужны, участники получат по четыре сосиски.
n, m = input().split()
n = int(n)
m = int(m)
s = n/m
if s > 0.5:
print(n%m)
elif s > 1 and type(s) == float:
print(n%m-1)
elif s == 0.5:
print(n)
elif s == int(s):
print(0)
else: print(None)
Это все что смогли решить. Мы вообще так то только первый раз участвуем. При тестах показало 60 баллов. Удачи.