Алексей очень спешил в поездку и, забежав в поезд, не успел посмотреть номер вагона, зато успел посчитать, что перед ним находится не менее A вагонов, а за ним — не более B вагонов. Всего в составе N вагонов. Выведите количество вариантов номера вагона, в котором может оказаться Алексей.
Формат входных данных
В первых трёх строках вводится 3 целых числа N, A, B (1≤N≤109,0<A,B<N).
Формат выходных данных
Выведите одно целое число — количество вариантов номера вагона, в котором может оказаться Алексей. Гарантируется, что ответ равен хотя бы 1.
Замечание
В первом тесте Лёша может находиться только в вагонах с номерами 6, 7, 8.
python
import math
# Ввод количества вагонов, их номеров и ограничений
N, A, B = map(int, input().split())
# Вычисление количества возможных комбинаций
result = sum(math.comb(N-1, i) for i in range(A, N-B))
# Вывод результата
print(result)
Данный алгоритм является эффективным, так как использует встроенную функцию для вычисления комбинаций и проходит только по нужному диапазону значений от A до N-B.
Таким образом, мы решили данную задачу с помощью комбинаторики и математического подхода. Алгоритм будет работать достаточно быстро для заданных ограничений, так как сложность вычисления комбинации C(n, r) равна O(1), а проход по нужному диапазону значений занимает O(n).Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет