Парты
Вы решили задачу. Теперь можно сравнить подходы.
Округляем число парт вверх отдельно для каждого класса.
Авторский разбор для локальной версии на основе условия задачи. Это не выгрузка чужих посылок и не официальное решение исходного сайта.
Ваше принятое решение
Рекомендуемое решение: Целочисленное округление
Для нечётного числа учеников нужна ещё одна парта, что учитывает прибавление единицы.
a = int(input())
b = int(input())
c = int(input())
print((a + 1) // 2 + (b + 1) // 2 + (c + 1) // 2)
Время: O(1). Память: O(1).
Другой способ: Полные пары и одиночные места
Сначала считаем парты для пар учеников, затем добавляем одну для оставшегося ученика.
desks = 0
for _ in range(3):
pupils = int(input())
desks += pupils // 2
if pupils % 2:
desks += 1
print(desks)
Время: O(1). Память: O(1).
На что обратить внимание
- Нельзя сначала складывать учеников трёх классов: парты не делятся между кабинетами.
Рекомендация учитывает сложность и читаемость для этой задачи. Единственного самого быстрого решения для всех размеров входа и всех компьютеров может не быть.