Задача понятна. Ниже подробное решение с пояснениями и рабочим примером на Python. Так как предмет и класс не указаны, решение адаптировано под общую школьную задачу по программированию.
Цель решения:
- Считать количество автомобилей N и их скорости.
- Найти максимальную, минимальную и среднюю скорость.
- Вывести max, min и average (с округлением до разумной формы для вывода), затем YES если средняя скорость больше 60, иначе NO.
Пояснение алгоритма:
- Считываем вход: сначала N, затем N скоростей.
- max_speed = максимум из скоростей.
- min_speed = минимум из скоростей.
- avg = сумма скоростей делить на N (это число с плавающей точкой).
- Форматируем среднюю скорость так, чтобы при необходимости она показывала только нужные десятичные знаки (например 51 или 51.25).
- Выводим сначала три значения на одной строке: max, min, avg.
- Затем выводим YES, если avg > 60, иначе NO.
Сложность: время O(N), память O(1) помимо входных данных.
Пример кода на Python:
import sys
def main():
# Читаем все входные данные как последовательность чисел
data = list(map(int, sys.stdin.read().split()))
if not data:
return
N = data[0]
speeds = data[1:1 + N]
# Валидация минимальная: должно быть ровно N скоростей
if len(speeds) < N:
return # либо можно вывести сообщение об ошибке
max_speed = max(speeds)
min_speed = min(speeds)
avg = sum(speeds) / N
# Форматируем среднюю скорость: до двух знаков после запятой, без лишних нулей
avg_str = "{:.2f}".format(avg).rstrip('0').rstrip('.')
print(f"{max_speed} {min_speed} {avg_str}")
print("YES" if avg > 60 else "NO")
if __name__ == "__main__":
main()
Дополнительные примеры:
Ввод: 5 45 30 60 70 50 Вывод: 70 30 51 NO (Средняя скорость = 51.0, что меньше 60)
Ввод: 4 65 60 65 70 Вывод: 70 60 65 YES (Средняя скорость = 65.0)
Если нужно, могу адаптировать формат вывода под конкретные требования вашего учебного ресурса (например, все в одну строку, или с другим количеством знаков после запятой).