Средний результат двух забегов
Условие
Ты тренируешься в школьной секции по бегу. На тренировке ты пробежал два забега и получил два целых числа — результаты (например, очки или секунды, как договорились на уроке).
Тренер хочет узнать целое среднее этих двух чисел: сложить их и разделить на 2 без дробной части.
То есть нужно вывести значение (a + b) // 2.
Формат ввода
В одной строке даны два целых числа a и b.
Формат вывода
Выведи одно целое число — целое среднее двух чисел: (a + b) // 2.
Ограничения
-10000 ≤ a ≤ 10000-10000 ≤ b ≤ 10000
Пример
Ввод:
7 10
Вывод:
8Как решать — идея подхода
Приём: Целочисленное деление
Ключевое наблюдение: «целое среднее» в задаче уже задано как операция // 2, то есть это не обычное среднее с округлением, а именно целочисленное деление (дробная часть отбрасывается).
Почему это работает: оператор // в Python делает деление с округлением вниз до целого. Поэтому выражение (a + b) // 2 сразу даёт нужный результат для любых целых a и b, в том числе отрицательных.
План решения:
- Считать два целых числа
aиbиз одной строки. - Посчитать сумму
s = a + b. - Вывести
s // 2.
Мини-сниппет формулы:
ans = (a + b) // 2
Сложность: O(1) по времени и O(1) по памяти — всего несколько арифметических операций.
Частая ошибка: использовать обычное деление / и потом int(...). Для отрицательных чисел это даст другой результат, потому что int(-1.5) станет -1, а правильное (-3) // 2 равно -2 (округление вниз). Поэтому нужно именно //.
Решить задачу с автопроверкой на Python →
Куда дальше
- С нуля до олимпиады: маршрут — сколько занимает язык, какие приёмы нужны и к какому этапу это ведёт
- БВИ по олимпиадам: в какие вузы берут — правила приёма вузов, разобранные построчно, со ссылкой на приказ у каждой строки
- Перечневые олимпиады: что это и что дают — весь перечень Минобрнауки: уровни, срок диплома, разрезы по предметам и классам