Ограничение по времени: 1
секунда
Ограничение по памяти: 256
мегабайт
Алексей очень спешил в поездку и, забежав в поезд, не успел посмотреть номер вагона, зато успел посчитать, что перед ним находится не менее A
вагонов, а за ним —
не более B
вагонов. Всего в составе N
вагонов. Выведите количество вариантов номера вагона, в котором может оказаться Алексей.
Формат входных данных
В первых трёх строках вводится 3
целых числа N
, A
, B
(1≤N≤109,0<A,B<N
).
на питоне
count = 0
for i in range(A, B+1):
count += 1
print(count)
Однако, данное решение работает неэффективно, так как для больших значений A и B может потребовать большое количество итераций.
Мы можем улучшить это решение, уменьшив количество итераций. Заметим, что количество чисел от A до B включительно равно B - A + 1. Таким образом, мы можем просто вычислить разность B - A + 1 и вывести полученное значение.
Итоговый псевдокод будет выглядеть так:
count = B - A + 1
print(count)
Таким образом, мы получаем решение со сложностью O(1), то есть решение работает за постоянное время и не зависит от размера входных данных. Это оптимальное решение задачи.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет