МКАД
Вы решили задачу. Теперь можно сравнить подходы.
Координата на кольце — остаток полного перемещения при делении на длину дороги.
Авторский разбор для локальной версии на основе условия задачи. Это не выгрузка чужих посылок и не официальное решение исходного сайта.
Ваше принятое решение
Рекомендуемое решение: Остаток по модулю 109
За t часов перемещение равно v·t. В Python остаток при делении на положительное 109 всегда лежит от 0 до 108, даже при отрицательной скорости.
v = int(input())
t = int(input())
print(v * t % 109)
Время: O(1) арифметических операций. Память: O(1) числовых переменных.
Другой способ: Вычитание полных оборотов
Целочисленное деление // округляет вниз. Если вычесть это количество полных оборотов, оставшаяся координата окажется в диапазоне 0…108 и при движении назад.
v = int(input())
t = int(input())
distance = v * t
turns = distance // 109
print(distance - turns * 109)
Время: O(1) арифметических операций. Память: O(1) числовых переменных.
На что обратить внимание
- Обычное деление / даёт вещественное число.
- Для отрицательной скорости нельзя заменять // на int(distance / 109): округление будет другим.
- Отметка 109 совпадает с отметкой 0.
Рекомендация учитывает сложность и читаемость для этой задачи. Единственного самого быстрого решения для всех размеров входа и всех компьютеров может не быть.