Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3704658
А
Аноним
01 октября 2026 13:50 · публичный вопрос
А
Аноним

Есть число N и 2N записей: имя в одной строке, оценка за урок в другой. Некоторые ученики отвечали несколько раз и потому попали в список тоже несколько раз. Выведи самую низкую оценку из тех, которые получил последний ученик в списке. Ввод Вывод 4 Петров Пётр 4 Сонина Софья 4 Александрова Александра 5 Сонина Софья 3 3

Нейросеть

Краткий ответ: в приведённом примере нужно вывести 3.

Алгоритм

  1. Считываем все пары «имя — оценка».
  2. Запоминаем имя ученика из последней пары.
  3. Для каждого ученика храним минимальную встреченную оценку.
  4. Выводим минимум для последнего ученика.

Имя нужно считывать целой строкой, так как оно состоит из фамилии и имени.

Решение на Python

n = int(input())

min_grade = {}
last_name = ""

for _ in range(n):
    name = input()
    grade = int(input())

    last_name = name

    if name not in min_grade or grade < min_grade[name]:
        min_grade[name] = grade

print(min_grade[last_name])

Проверка на примере

Для Сониной Софьи встречаются оценки 4 и 3.

\[ \min(4, 3) = 3 \]

Поэтому результат:

3

Алгоритм работает за \(O(N)\) времени.

Обсуждение

1 сообщение
А
Аноним

Есть число учеников N и 2N записей: имя в одной строке, оценка за урок в другой. Составь и выведи список учеников, чья отметка выше средней арифметической. Ввод Вывод 6 Петя 4 Алина 3 Рома 3 Катя 5 Маша 5 Серёжа 4 [Катя, Маша]

Есть число N и 2N записей: имя в одной строке, оценка за урок в другой. Некоторые ученики отвечали несколько раз и потому попали в список тоже несколько раз. Выведи самую низкую оценку из тех, которые получил последний ученик в списке. Ввод Вывод 4 Петров Пётр 4 Сонина Софья 4 Александрова Александра 5 Сонина Софья 3 3
**Краткий ответ:** в приведённом примере нужно вывести `3`. ### Алгоритм 1. Считываем все пары «имя — оценка». 2. Запоминаем имя ученика из последней пары. 3. Для каждого ученика храним минимальную встреченную оценку. 4. Выводим минимум для последнего ученика. Имя нужно считывать целой строкой, так как оно состоит из фамилии и имени. ### Решение на Python ```python n = int(input()) min_grade = {} last_name = "" for _ in range(n): name = input() grade = int(input()) last_name = name if name not in min_grade or grade < min_grade[name]: min_grade[name] = grade print(min_grade[last_name]) ``` ### Проверка на примере Для `Сониной Софьи` встречаются оценки `4` и `3`. \[ \min(4, 3) = 3 \] Поэтому результат: ```text 3 ``` Алгоритм работает за \(O(N)\) времени.