На кольцевом маршруте автобуса N остановок. Это значит, что через N остановок автобус возвращается в начало маршрута.
Петя сел в автобус у дома и тут же заснул. Через X остановок он проснулся. Чтобы не пересаживаться на автобус, идущий обратно, он решил остаться в автобусе, доехать до своей остановки и выйти (но не делать больше лишних кругов).
Даны числа N и X. Какое минимальное количество остановок Пете нужно проехать, чтобы вернуться домой?
Ввод Вывод
9
21 6
9
18 0
Давайте внимательно разобрем задачу пошагово:
**Понимание задачи:**
- Есть кольцевой маршрут автобуса с N остановками. После N остановок автобус возвращается в начальную точку.
- Петя садится на автобус у дома (это одна из остановок маршрута, обозначим её тоже как "дом").
- Он заснул и проснулся через X остановок.
- Решил остаться в автобусе и доехать до своей остановки (опять же, той самой, где он садился).
- Нам нужно определить минимальное число остановок, которое ему придётся проехать, чтобы вернуться к своей остановке.
**Общее понимание:**
- В кольцевом маршруте, если идти по маршруту, то после N остановок мы возвращаемся в начальную точку.
- Петя проснулся через X остановок после своего садикового места.
Рассмотрим два возможных варианта, чтобы понять, через какое минимальное число остановок он сможет добраться до своей остановки, не делая лишних кругов.
---
### Формула и рассуждение:
Обозначим:
- \( N \) — число остановок в круге.
- \( X \) — сколько остановок прошло, пока Петя проснулся.
Петя может оказаться в двух местах:
1. Если он проснулся раньше своей остановки (то есть за X остановок от её места).
2. Или, если он проснулся после своей остановки (за X остановок, но уже прошёл её, и ему пришлось пройти дополнительный круг).
Чтобы понять, где он оказался, посмотрим по модулю:
- Его текущая остановка после пробуждения — это \( (S + X) \mod N \), где \( S \) — его начальная остановка (у дома).
Так как \( S \) — его начальная остановка, то чтобы найти его финальную позицию, нужно рассмотреть \( (S + X) \mod N \).
Но, поскольку стартовая точка у дома, то ее позицию можно считать нулем для простоты: тогда \( S = 0 \), и его позиция — это \( X \mod N \).
---
### Варианты:
1. **Если \( X \equiv 0 \mod N \):**
Петя после пробуждения находится у своей начальной остановки, то есть у дома. Тогда минимальное количество остановок — 0, потому что он уже на своей остановке.
2. **Если \( X \not\equiv 0 \mod N \):**
Он находится на другой остановке, и чтобы добраться до своей остановки, ему нужно проехать:
\[
\text{минимальное} \quad \min(X \mod N, N - (X \mod N))
\]
— то есть минимальное расстояние по круговому маршруту, чтобы вернуться к остановке дома.
---
### Итоговая формула:
\[
\boxed{
\text{Минимальное количество остановок} = \min\left( X \mod N,\ N - (X \mod N) \right)
}
\]
---
### Проверка на примерах:
**Пример 1:**
N = 9, X = 21
- \( 21 \mod 9 = 3 \)
- \( 9 - 3 = 6 \)
- Минимальное — 3, значит Петя должен проехать 3 остановки, чтобы вернуться к дому.
**Пример 2:**
N = 9, X = 18
- \( 18 \mod 9 = 0 \)
- Значит, он уже на своей остановке, минимальное — 0.
---
### Итоговые ответы:
1. Для входных данных:
```
9
21
```
Ответ: **3**
2. Для входных данных:
```
9
18
```
Ответ: **0**
---
Если есть ещё вопросы или нужно объяснение более подробно — скажите!