2026/27, 9КЛ-2, Python: Работа с файлами + задачи на подсчёт(часть1))

A: A + B

Во входном файле записано два целых числа, каждое в отдельной строке. Выведите в выходной файл их сумму.

Пример

ВводВывод
2
2
4

B: Сумма нескольких чисел

Во входном файле записано любое количество чисел, каждое в отдельной строке. Выведите их сумму.

Пример

ВводВывод
1
2
3
6

C: Максимальный балл по классам

В олимпиаде по информатике принимали участие несколько человек. Информация о результатах олимпиады записана в файле, каждая строка которого имеет вид:
фамилия имя класс балл.

Фамилия и имя — текстовые строки, не содержащие пробелов. Класс — одно из трех чисел 9, 10, 11. Балл — целое число от 0 до \(10^6\).

Победителем олимпиады становится человек, набравший больше всех баллов. Победители определяются независимо по каждому классу.

Определите количество баллов, которое набрал победитель в каждом классе. Гарантируется, что в каждом классе был хотя бы один участник.

Выведите три числа: баллы победителя олимпиады по 9 классу, по 10 классу, по 11 классу.

В этой задаче файл необходимо считывать построчно, не сохраняя содержимое файла в памяти целиком.

Решения, содержащие разбор трех случаев типа

if form == 9:
    # ...
elif form == 10:
    # ...
else:
    # ...

приниматься не будут.

Решение должно иметь сложность \(O(n)\), где \(n\) — общее количество участников олимпиады. Решение должно использовать \(O(1)\) памяти.

Пример

ВводВывод
Иванов Сергей 9 90
Сергеев Петр 10 91
Петров Василий 11 92
Васильев Иван 9 93
93 91 92

D: Средний балл по классам

В условиях предыдущей задачи определите и выведите средние баллы участников олимпиады в 9 классе, в 10 классе, в 11 классе.

Решение должно иметь сложность \(O(n)\), где \(n\) — общее количество участников олимпиады. Решение должно использовать \(O(1)\) памяти.

Пример

ВводВывод
Иванов Сергей 9 90
Сергеев Петр 10 91
Петров Василий 11 92
Васильев Иван 9 93
91.5 91.0 92.0

E: Количество победителей по классам

В условиях предыдущей задачи определите количество школьников, ставших победителями в каждом классе. Победителями объявляются все, кто набрал наибольшее число баллов по данному классу. Гарантируется, что в каждом классе был хотя бы один участник.

Выведите три числа: количество победителей олимпиады по 9 классу, по 10 классу, по 11 классу.

Решение должно иметь сложность \(O(n)\), где \(n\) — общее количество участников олимпиады. Решение должно использовать \(O(1)\) памяти.

Пример

ВводВывод
Иванов Сергей 9 80
Сергеев Петр 10 80
Петров Василий 11 81
Васильев Андрей 9 81
Андреев Александр 10 80
Александров Роман 9 81
Романов Иван 11 80
2 2 1

F: Победитель олимпиады

Зачет в олимпиаде проводится без деления на классы. Выведите фамилию и имя победителя олимпиады. Если таких несколько — выведите только их количество.

Решение должно иметь сложность \(O(n)\), где \(n\) — общее количество участников олимпиады. Решение должно использовать \(O(1)\) памяти.

Примеры

ВводВывод
Иванов Сергей 9 90
Сергеев Петр 10 95
Петров Иван 11 85
Сергеев Петр
Иванов Сергей 9 90
Сергеев Петр 10 85
Петров Иван 11 90
2

G: Максимальный балл не-победителя

Зачет проводится отдельно в каждом классе. Победителями олимпиады становятся школьники, которые набрали наибольший балл среди всех участников в данном классе.

Для каждого класса определите максимальный балл, который набрал школьник, не ставший победителем в данном классе.

Выведите три целых числа.

Решение должно иметь сложность \(O(n)\), где \(n\) — общее количество участников олимпиады. Решение должно использовать \(O(1)\) памяти.

Пример

ВводВывод
Иванов Сергей 9 80
Сергеев Петр 10 82
Петров Василий 11 82
Васильев Андрей 9 81
Андреев Александр 10 81
Александров Роман 9 81
Романов Иван 11 83
80 81 82